Skip to content

Instantly share code, notes, and snippets.

@Ondreas
Created January 27, 2015 17:24
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Ondreas/f2fad8a279a8ec11c7d0 to your computer and use it in GitHub Desktop.
Save Ondreas/f2fad8a279a8ec11c7d0 to your computer and use it in GitHub Desktop.
Text-Shadow @mixin | Compass
// ######################################################################
// ##
// text-shadow() ##
// ================================================================= ##
// URL: http://compass-style.org/reference/compass/css3/text-shadow/ ##
// ##
// USAGE: ##
// ----------------------------------------------------------------- ##
// @include text-shadow(1px 1px 2px #333333); ##
// ##
// ######################################################################
// Default variables
$default-text-shadow-h-offset: 0px!default;
$default-text-shadow-v-offset: 0px!default;
$default-text-shadow-blur : 1px!default;
$default-text-shadow-spread : false!default;
$default-text-shadow-color : #aaaaaa!default;
@mixin text-shadow($shadow...) {
$shadow: if(length($shadow) > 0, $shadow, default);
$default: -compass-space-list(compact($default-text-shadow-h-offset $default-text-shadow-v-offset $default-text-shadow-blur $default-text-shadow-spread $default-text-shadow-color));
$shadows-without-spread: join((), (), comma);
$shadows: join((), (), comma);
$has-spread: false;
@each $layer in $shadow {
$layer: if($layer == "default", $default, $layer);
@if length($layer) > 4 {
$has-spread: true;
$shadows-without-spread: append($shadows-without-spread, nth($layer, 1) nth($layer, 2) nth($layer, 3) nth($layer, 5));
$shadows: append($shadows, $layer);
}
@else {
$shadows-without-spread: append($shadows-without-spread, $layer);
$shadows: append($shadows, $layer);
}
}
@if $has-spread {
text-shadow: $shadows-without-spread;
}
text-shadow: $shadows;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment