Структура таблицы стилей
Как и 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 правилах. - Правило
@extend
rule можно использовать только в правилах стиля.
Выражения 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
, которое анализируется как строка без кавычек.