Структура таблицы стилей
Как и CSS, большинство таблиц стилей Sass состоят главным образом из правил стилей, содержащих объявления свойств. Однако таблицы стилей Sass поддерживают множество дополнительных возможностей.
Инструкции
Таблица стилей Sass состоит из последовательности инструкций, которые вычисляются для построения итогового CSS. Некоторые инструкции могут содержать блоки, определяемые с помощью { и }, в которых размещаются другие инструкции. Например, правило стиля — это инструкция с блоком. Этот блок содержит другие инструкции, например объявления свойств.
В SCSS инструкции разделяются точками с запятой (которые необязательны, если инструкция содержит блок). В синтаксисе с отступами инструкции разделяются переводами строк. В конце инструкции в синтаксисе с отступами можно поставить точку с запятой, но перевод строки всё равно необходим.
Универсальные инструкции
Эти типы инструкций можно использовать в любом месте таблицы стилей Sass:
-
Объявления переменных, например
$var: value. -
Управляющие директивы, например
@ifи@each. - Правила
@error,@warnи@debug.
Инструкции CSS
Эти инструкции создают CSS. Их можно использовать где угодно, кроме @function:
-
Правила стилей, например
h1 { /* ... */ }. -
Директивы CSS, например
@mediaи@font-face. -
Вызовы миксинов с помощью
@include. - Правило
@at-root.
Инструкции верхнего уровня
Эти инструкции можно использовать только на верхнем уровне таблицы стилей или внутри инструкции CSS, расположенной на верхнем уровне:
-
Подключение модулей с помощью
@use. -
Импорт с помощью
@import. -
Определения миксинов с помощью
@mixin. -
Определения функций с помощью
@function.
Другие инструкции
-
Объявления свойств, например
width: 100px, можно использовать только внутри правил стилей и некоторых директив CSS. - Правило
@extendможно использовать только внутри правил стилей.
Выражения
Выражение — это всё, что находится справа от объявления свойства или переменной. Каждое выражение возвращает значение. Любое допустимое значение свойства CSS также является выражением Sass, но выражения Sass гораздо мощнее обычных значений CSS. Их передают в качестве аргументов миксинам и функциям, используют для управления потоком выполнения с помощью правила @if и обрабатывают с помощью арифметических операций. Синтаксис выражений Sass называется SassScript.
Литералы
Простейшие выражения представляют собой статические значения:
-
Числа, которые могут иметь единицы измерения или не иметь их, например
12или100px. -
Строки, которые могут быть заключены в кавычки или не иметь кавычек, например
"Helvetica Neue"илиbold. -
Цвета, которые можно задавать в шестнадцатеричном формате или по имени, например
#c6538cилиblue. - Логические литералы boolean
trueилиfalse. - Единственное значение
null. -
Списки значений, элементы которых могут разделяться пробелами или запятыми и заключаться в квадратные скобки либо не заключаться в скобки вовсе, например
1.5em 1em 0 2em,Helvetica, Arial, sans-serifили[col1-start]. -
Отображения, связывающие значения с ключами, например
("background": red, "foreground": pink).
Операции
Sass определяет синтаксис для ряда операций:
-
==и!=используются для проверки равенства двух значений. -
+,-,*,/и%имеют обычное математическое значение для чисел; при этом единицы измерения обрабатываются особым образом, как и в научных вычислениях. -
<,<=,>и>=проверяют, больше или меньше одно число другого. -
and,orиnotработают как обычные логические операторы. Sass считает любое значение истинным, кромеfalseиnull. -
+,-и/можно использовать для объединения строк. -
(и)можно использовать для явного задания порядка выполнения операций.
Другие выражения
-
Переменные, например
$var. -
Вызовы функций, например
nth($list, 1)илиvar(--main-bg-color). Они могут вызывать функции из основной библиотеки Sass или функции, определённые пользователем, либо компилироваться непосредственно в CSS. -
Специальные функции, например
calc(1px + 100%)илиurl(http://myapp.com/assets/logo.png), имеющие собственные правила разбора. -
Родительский селектор
&. - Значение
!important, которое разбирается как строка без кавычек.
© 2006–2025 the Sass team, and numerous contributors
Licensed under the MIT License.
https://sass-lang.com/documentation/syntax/structure