Sass framework Compass осигурява удобна функция за получаване на противоположната посока на позиция, например left
при предаване right
като аргумент.
Тази функция не само не се нуждае от Compass, но също така приема списък с позиции, а не една. Той също така обработва невалидна стойност елегантно. Нищо освен най-доброто!
/// Returns the opposite direction of each direction in a list /// @author Hugo Giraudel /// @param (List) $directions - List of initial directions /// @return (List) - List of opposite directions @function opposite-direction($directions) ( $opposite-directions: (); $direction-map: ( 'top': 'bottom', 'right': 'left', 'bottom': 'top', 'left': 'right', 'center': 'center', 'ltr': 'rtl', 'rtl': 'ltr' ); @each $direction in $directions ( $direction: to-lower-case($direction); @if map-has-key($direction-map, $direction) ( $opposite-directions: append($opposite-directions, unquote(map-get($direction-map, $direction))); ) @else ( @warn "No opposite direction can be found for `#($direction)`. Direction omitted."; ) ) @return $opposite-directions; )
Употреба:
.selector ( background-position: opposite-direction(top right); )
Резултат:
.selector ( background-position: bottom left; )