Sass/SCSS
Sass (Syntactically Awesome Style Sheets) — это препроцессор CSS, который добавляет возможности, отсутствующие в обычном CSS. Sass позволяет использовать переменные, вложенность, миксины и другие мощные функции.
Синтаксисы Sass
- SCSS — синтаксис похожий на CSS с фигурными скобками
- Sass — синтаксис с отступами без скобок
Основные возможности
- Переменные — хранение значений для повторного использования
- Вложенность — иерархическое написание селекторов
- Миксины — переиспользуемые блоки стилей
- Наследование — расширение селекторов
- Функции — вычисления и операции
Примеры Sass/SCSS
1// Переменные
2$primary-color: #3498db;
3$margin: 16px;
4
5// Вложенность
6.navbar {
7 background: $primary-color;
8
9 ul {
10 margin: 0;
11 padding: 0;
12
13 li {
14 list-style: none;
15
16 a {
17 color: white;
18 text-decoration: none;
19
20 &:hover {
21 opacity: 0.8;
22 }
23 }
24 }
25 }
26}
27
28// Миксин
29@mixin button-style($bg-color, $text-color) {
30 background: $bg-color;
31 color: $text-color;
32 padding: 10px 20px;
33 border: none;
34 border-radius: 4px;
35 cursor: pointer;
36}
37
38.primary-button {
39 @include button-style($primary-color, white);
40}
Директивы и функции
- @import — импорт других файлов Sass
- @extend — наследование стилей
- @if/@else — условные конструкции
- @for/@each/@while — циклы
- lighten()/darken() — функции работы с цветом
Инструменты компиляции
- Dart Sass — основная реализация
- node-sass — Node.js биндинги (deprecated)
- Webpack — с sass-loader
- Vite — встроенная поддержка
Установка Sass
Для установки Sass используй один из следующих способов:
FAQ
В чем разница между Sass и Less?
Sass более мощный с функциями и циклами, Less проще в изучении. Sass имеет лучшую экосистему и поддержку.
Какой синтаксис выбрать: Sass или SCSS?
SCSS более популярен, так как похож на обычный CSS. Sass с отступами более краткий, но менее привычный.