-
-
Save brubrant/3166895 to your computer and use it in GitHub Desktop.
| // http://compass-style.org/reference/compass/helpers/sprites/ | |
| @mixin get-sprite($map, $sprite, $repeat: no-repeat, $height: true, $width: true) { | |
| //http://compass-style.org/reference/compass/helpers/sprites/#sprite-file | |
| $sprite-image: sprite-file($map, $sprite); | |
| // http://compass-style.org/reference/compass/helpers/sprites/#sprite-url | |
| $sprite-map: sprite-url($map); | |
| // http://compass-style.org/reference/compass/helpers/sprites/#sprite-position | |
| $sprite-position: sprite-position($map, $sprite); | |
| // Returns background | |
| background: $sprite-map $sprite-position $repeat; | |
| // http://compass-style.org/reference/compass/helpers/image-dimensions/ | |
| // Checks to see if the user wants height returned | |
| @if $height == true { | |
| // Gets the height of the sprite-image | |
| $sprite-height: image-height($sprite-image); | |
| // Returns the height | |
| height: $sprite-height; } | |
| // http://compass-style.org/reference/compass/helpers/image-dimensions/ | |
| // Checks to see if the user wants height returned | |
| @if $width == true { | |
| // Gets the width of the sprite-image | |
| $sprite-width: image-width($sprite-image); | |
| // Returns the width | |
| width: $sprite-width; } | |
| } |
It should be noted that this mixin appears to have a bit missing: there is no clause within the function that allows the width & height to be set 'manually', even though both can to be passed to the function to override the default values of 'true'. Here is my amended code with a couple of simple lines added that allow width & height to be set manually:
@mixin get-sprite($map, $sprite, $repeat: no-repeat, $height: true, $width: true) {
$sprite-image: sprite-file($map, $sprite);
$sprite-map: sprite-url($map);
$sprite-position: sprite-position($map, $sprite);
background: $sprite-map $sprite-position $repeat;
height: $height;
@if $height == true {
$sprite-height: image-height($sprite-image);
height: $sprite-height; }
width: $width;
@if $width == true {
$sprite-width: image-width($sprite-image);
width: $sprite-width; }
}
You just made my day! Great mixin!!