Структура Sass Compass предоставляет удобную функцию для получения противоположного направления позиции, например, left
при передаче в right
качестве аргумента.
Эта функция не только не требует компаса, но также принимает список позиций, а не один. Он также изящно обрабатывает недопустимые значения. Только самое лучшее!
/// 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; )