Найти тему
Сергей Мясников

Немного о SASS глазами разработчика

Оглавление

SASS (Syntactically Awesome Style Sheets) - CSS-препроцессор, призванный упростить и ускорить процесс написания CSS. SASS не динамичен, то есть не получится генерировать CSS свойства в реальном времени.

Преимущества SASS перед CSS:

  1. Вложенность - можно вкладывать одни CSS правила в другие. Вложенные правила применяются только для элементов, соответствующих внешним селекторам.
  2. Переменные - в CSS так же есть переменные, но SASS делает их использование более гибким. Например использовать их в миксинах.
  3. Математические операции - SASS позволяет использовать можно обойтись без использования calc().
  4. Циклы и условия - SASS позволяет использовать @for @while и @if-else, но в итоге всё равно всё будет скомпилировано в CSS.
  5. Миксины - можно одни и те же свойства смешивать с другими или использовать повторно.
  6. Функции - можно создавать функции для многократного использования.

Вложенные правила

Вложенные правила позволяют писать правила внутри других правил. С помощью символа & можно явно указать, где должен быть вставлен родительский селектор . Пример использования:

Будет скомпилирован в:

-2

Переменные

Переменные обозначаются знаком $. Пример использования:

-3

Будет скомпилирован в:

-4

Миксины

Объявляются директивой @mixin после чего следует имя миксина и, опционально, его параметры. Пример использования:

-5

Будет скомпилирован в:

-6

@if

Директива используется для разветвления на основе условия. Пример использования:

-7

Будет скомпилирован в:

-8

@for

Выводит набор стилей заданное число раз. Пример использования:

-9

Будет скомпилирован в:

-10

@each

Устанавливает $var в каждое из значений списка или словаря и выводит содержащиеся в ней стили, используя соответствующее значение $var. Пример использования:

-11

Будет скомпилирован в:

-12

@while

Принимает выражение и циклично выводит вложенные правила, пока выражение вычисляется как true. Пример использования:

-13

Будет скомпилирован в:

-14

Функции

В SASS как и в других языках можно использовать функции. Пример использования:

-15

Будет скомпилирован в:

-16

@import

Позволяет импортировать CSS из другого SASS или CSS файла. Пример использования:

color.sass
color.sass
style.sass
style.sass

Будет скомпилирован в:

-19

@extend

В случае когда селектор должен иметь свои собственные свойства и быть дописан другими свойствами применяется директива @extend. Пример использования:

-20

Будет скомпилирован в:

-21

В следующей части рассмотрим встроенные функции для работы с цветами.

Автор статьи: Николай Куликов