Функція протилежного напрямку - CSS-хитрощі

Anonim

Фреймворк Sass 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; )