Встроенные модули
- Dart Sass
- since 1.23.0
- LibSass
- ✗
- Ruby Sass
- ✗
Sass предоставляет множество встроенных модулей, которые содержат полезные функции (и иногда миксины). Эти модули могут быть загружены с помощью правила @use, как любая пользовательская таблица стилей, и их функции могут быть вызваны как любой другой участник модуля. Все URL-адреса встроенных модулей начинаются с sass:, чтобы указать, что они являются частью самого Sass.
⚠️ Внимание!
До того, как была представлена модульная система Sass, все функции Sass были всегда доступны глобально. Многие функции по-прежнему имеют глобальные псевдонимы (они перечислены в их документации). Команда Sass не рекомендует их использовать и в конечном итоге откажется от них, но пока они остаются доступными для совместимости со старыми версиями Sass и с LibSass (который еще не поддерживает модульную систему).
Несколько функций доступны только глобально даже в новой модульной системе, либо потому, что у них есть особое поведение оценки (if()), либо потому, что они добавляют дополнительное поведение поверх встроенных Функции CSS (rgb() и hsl()). Они не будут считаться устаревшими и могут использоваться свободно.
Sass предоставляет следующие встроенные модули:
Модуль
sass:mathпредоставляет функции, которые работают с числами.Модуль
sass:stringупрощает объединение, поиск или разделение [строк][].Модуль
sass:colorгенерирует новые цвета на основе существующих, что упрощает создание цветовых тем.Модуль
sass:listпозволяет вам получать доступ и изменять значения в списках.Модуль
sass:mapпозволяет искать значение, связанное с ключом, в [карте]]map и многое другое.Модуль
sass:selectorпредоставляет доступ к мощному механизму выбора Sass.Модуль
sass:metaраскрывает детали внутренней работы Sass.
Глобальные функции permalinkГлобальные функции
hsl($hue $saturation $lightness)
hsl($hue $saturation $lightness / $alpha)
hsl($hue, $saturation, $lightness, $alpha: 1)
hsla($hue $saturation $lightness)
hsla($hue $saturation $lightness / $alpha)
hsla($hue, $saturation, $lightness, $alpha: 1) //=> color - Dart Sass
- since 1.15.0
- LibSass
- ✗
- Ruby Sass
- ✗
- Dart Sass
- ✓
- LibSass
- ✗
- Ruby Sass
- since 3.7.0
Возвращает цвет с заданными оттенком, насыщенностью и яркостью и заданным альфа-каналом.
Оттенок - это число от 0deg до 360deg градусов (включительно) и может быть безразмерным. Насыщенность и яркость - это числа от 0% до 100% (включительно) и могут не быть безразмерными. Альфа-канал может быть указан либо как безразмерное число от 0 до 1 (включительно), либо как процентное соотношение между 0% и 100% (включительно).
💡 Интересный факт:
Вы можете передать специальные функции, такие как calc() или var() вместо любого аргумента в hsl(). Вы даже можете использовать var() вместо нескольких аргументов, так как он может быть заменен несколькими значениями! Когда функция цвета вызывается таким образом, она возвращает строку без кавычек, используя ту же сигнатуру, с которой она была вызвана.
⚠️ Внимание!
Специальные правила синтаксического анализа Sass для значений, разделенных косой чертой, затрудняют передачу переменных для $lightness или $alpha при использовании сигнатуры hsl($hue $saturation $lightness / $alpha). Вместо этого рассмотрите возможность использования hsl($hue, $saturation, $lightness, $alpha).
if($condition, $if-true, $if-false) Возвращает $if-true, если $condition равно правде и $if-false в противном случае.
Эта функция отличается тем, что она даже не оценивает аргумент, который не возвращается, поэтому ее можно безопасно вызывать, даже если неиспользованный аргумент вызовет ошибку.
rgb($red $green $blue)
rgb($red $green $blue / $alpha)
rgb($red, $green, $blue, $alpha: 1)
rgb($color, $alpha)
rgba($red $green $blue)
rgba($red $green $blue / $alpha)
rgba($red, $green, $blue, $alpha: 1)
rgba($color, $alpha) //=> color - Dart Sass
- since 1.15.0
- LibSass
- ✗
- Ruby Sass
- ✗
- Dart Sass
- ✓
- LibSass
- ✗
- Ruby Sass
- since 3.7.0
Если переданы $red, $green, $blueи, необязательно, $alpha, возвращается цвет с указанными красным, зеленым, синим и альфа-каналами.
Каждый канал может быть указан либо как число без единиц измерения от 0 до 255 (включительно), либо как процентное соотношение между 0% и 100% (включительно). Альфа-канал может быть указан либо как безразмерное число от 0 до 1 (включительно), либо как процентное соотношение между 0% и 100% (включительно).
💡 Интересный факт:
Вы можете передать специальные функции, такие как calc() или var() вместо любого аргумента в rgb(). Вы даже можете использовать var() вместо нескольких аргументов, так как он может быть заменен несколькими значениями! Когда функция цвета вызывается таким образом, она возвращает строку без кавычек, используя ту же сигнатуру, с которой она была вызвана.
⚠️ Внимание!
Специальные правила синтаксического анализа Sass для значений, разделенных косой чертой, затрудняют передачу переменных для $blue или $alpha при использовании сигнатуры rgb($red $green $blue / $alpha). Вместо этого рассмотрите возможность использования rgb($red, $green, $blue, $alpha).
Если переданы $color и $alpha, возвращается $color с заданным каналом $alpha вместо исходного альфа-канала.