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