Главная информация

Sass: (Syntactically Awesome Style Sheets) это мощный инструмент, который предоставляет языку CSS некоторые полезные функции программирования, такие как переменные, функции, импорт и экспорт.

Файлы Sass имеют расширение (.scss), и мы связываем их с файлами HTML так же, как мы использовали файлы CSS.

Настройка среды

1) Установите расширение живого компилятора Sass на VSCode.

2) Создайте обычный файл HTML

3) Создайте папку с именем (styles) и создайте в ней файл Sass с именем (style.scss)

4) Нажмите кнопку с изображением глаза в нижней части экрана VSCode с надписью (Sass watch). Он переведет ваш файл Sass (.scss) в обычный файл CSS (.css) и создаст его.

5) Теперь перейдите к своему HTML-файлу и свяжите с ним новый CSS (style.css) обычным способом. Теперь все, что вы напишете в файле Sass, будет переведено в CSS и обновит файл CSS.

Важно:

теперь мы только вводим наши стили в файл Sass, мы не должны ничего менять в файле CSS.

Работа с переменными

Мы можем хранить значения атрибутов внутри переменных, чтобы использовать их в любом месте кода.

Создайте переменную

$primaryColor: rgb(255, 255, 255);

он создаст переменную с именем (primaryColor) и присвоит ей значение цвета RGB, чтобы мы могли использовать ее несколько раз.

Используйте переменную

background-color: $primaryColor;

он будет использовать значение переменной (primaryColor) в качестве значения атрибута (background-color).

Вложенные атрибуты HTML

Вместо того, чтобы вводить множество селекторов для указания стилей внутренних элементов, мы можем поместить внутренние селекторы в скобки родительского селектора.

Старый способ:

body{
    background-color: white;
}
body div{
    color: black;
}
body p{
    color: red;
}

Новый способ:

body{
    background-color: white;
    div {
        color: black;
    }
    p {
        color: red;
    }  
}

Разделение файла Sass на группы

Мы можем разделить наш код Sass на множество подфайлов и связать их вместе, чтобы упорядочить код.

1)Мы должны создать подфайл, имя которого должно начинаться с символа подчеркивания ( _ ). Итак, создайте новый файл Sass внутри папки стилей с именем (_header.scss) и поместите в него свой CSS-код для услышанного элемента.

2)Теперь вернитесь к основному файлу Sass и импортируйте новый подфайл.

@import "./header";

3)Теперь два файла будут объединены вместе.

Построение и вызов функций

Создание функции

Мы используем ключевое слово (mixin) для создания функции в Sass с аргументами или без них.

Следующая функция (flexCenter) применит процесс центрирования с помощью (flex) и задаст указанное направление для любого элемента, который его вызывает.

@mixin flexCenter($dir) {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: $dir;
}

Вызов функции

Мы используем ключевое слово (include) для вызова функции и передачи аргументов, которые нужно применить. Следующий div будет иметь центрированное значение гибкого отображения с гибким направлением столбца.

div {
    @include flexCenter(column);   
}

Наследование стилей

Мы можем наследовать все стили от одного селектора к другому по ключевому слову (extend).

Определение исходного селектора

Придаем стиль элементу по классу (.box)

.box {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row;
}

Наследование стилей другому селектору

Теперь мы можем предоставить элементу body все стили класса (.box).

body {
    @extend .box;
}

Переопределение стиля

Мы можем переопределить унаследованный стиль, снова переназначив его значение в новом селекторе.

body{
    @extend .box;
    flex-direction: column;
}

Арифметические операции

Мы можем использовать арифметические операции, такие как + — / *, с числовыми значениями, такими как ширина и высота, чтобы получить динамические адаптивные стили.

main{
    width: 400px - 300px;
}