52 lines
2.2 KiB
Sass
52 lines
2.2 KiB
Sass
|
//**
|
||
|
Example 1:
|
||
|
a.twitter
|
||
|
+sprite-img("icons-32.png", 1)
|
||
|
a.facebook
|
||
|
+sprite-img("icons-32png", 2)
|
||
|
...
|
||
|
Example 2:
|
||
|
a
|
||
|
+sprite-background("icons-32.png")
|
||
|
a.twitter
|
||
|
+sprite-column(1)
|
||
|
a.facebook
|
||
|
+sprite-row(2)
|
||
|
...
|
||
|
|
||
|
!sprite_default_size ||= 32px
|
||
|
!sprite_default_margin ||= 0px
|
||
|
!sprite_image_default_width ||= !sprite_default_size
|
||
|
!sprite_image_default_height ||= !sprite_default_size
|
||
|
|
||
|
|
||
|
// Sets all the rules for a sprite from a given sprite image to show just one of the sprites.
|
||
|
// To reduce duplication use a sprite-bg mixin for common properties and a sprite-select mixin for positioning.
|
||
|
=sprite-img(!img, !col, !row = 1, !width = !sprite_image_default_width, !height = !sprite_image_default_height, !margin = !sprite_default_margin)
|
||
|
+sprite-background(!img, !width, !height)
|
||
|
+sprite-position(!col, !row, !width, !height, !margin)
|
||
|
|
||
|
// Sets rules common for all sprites, assumes you want a square, but allows a rectangular region.
|
||
|
=sprite-background(!img, !width = !sprite_default_size, !height = !width)
|
||
|
+sprite-background-rectangle(!img, !width, !height)
|
||
|
|
||
|
// Sets rules common for all sprites, assumes a rectangular region.
|
||
|
=sprite-background-rectangle(!img, !width = !sprite_image_default_width, !height = !sprite_image_default_height)
|
||
|
:background= image_url(!img) "no-repeat"
|
||
|
:width= !width
|
||
|
:height= !height
|
||
|
:overflow hidden
|
||
|
|
||
|
// Allows horizontal sprite positioning optimized for a single row of sprites.
|
||
|
=sprite-column(!col, !width = !sprite_image_default_width, !margin = !sprite_default_margin)
|
||
|
+sprite-position(!col, 1, !width, 0px, !margin)
|
||
|
|
||
|
// Allows vertical sprite positioning optimized for a single column of sprites.
|
||
|
=sprite-row(!row, !height = !sprite_image_default_height, !margin = !sprite_default_margin)
|
||
|
+sprite-position(1, !row, 0px, !height, !margin)
|
||
|
|
||
|
// Allows vertical and horizontal sprite positioning from a grid of equal dimensioned sprites.
|
||
|
=sprite-position(!col, !row = 1, !width = !sprite_image_default_width, !height = !sprite_image_default_height, !margin = !sprite_default_margin)
|
||
|
!x = ((!col - 1) * -!width) - ((!col - 1) * !margin)
|
||
|
!y = ((!row - 1) * -!height) - ((!row - 1) * !margin)
|
||
|
:background-position= !x !y
|