Очень краткий пример работы с циклом
в препроцессоре Sass.
1 for
С чего вдруг мне приспичило воспользоваться циклом в препроцессоре? Все, как всегда, просто - в предыдущей статье, посвященной плагину Smooth Scroll (Плагин Smooth Scroll), мне потребовался создать пример разметки HTML-документа с заголовками всех уровней, с первого (h1) до шестого (h6). Все бы ничего, но вручную создавать стили для заголовков всех уровней как-то утомительно.
HTML-разметка для цикла for
Вот я и озаботился задачей автоматизировать этот процесс, через цикл. Для этой цели я использовал цикл
. Упростил пример, выкинув параграфы и оставив только заголовки всех уровней:1
for
Базовые CSS-стили
Затем пропишу основные стили для этой разметки:
Использую цикл for в Sass
Теперь у меня стоит задача “покрасить” все заголовки в оттенки цвета, указанного в переменной
. Для создания оттенков воспользуюсь функцией 1
$color: #778899;
из препроцессора Sass.1
lighten()
Цвет будет меняться с шагом в 5% (
):1
$percentStep: 5;
Также будет изменяться размер шрифта (кегль) в заголовках уровней с первого (
) до шестого (1
h1
), с шагом 10px (1
h6
):1
$fontSizeStep: 10
Как видим, задача и вправду не для ленивых - это же надо тупо вбивать столько значений! Но мне поможет Sass и его циклы, а точнее - цикл
.1
for
Для этого создаю такую конструкцию цикла
:1
for
Небольшая расшифровка приведенного выше цикла. В данном случае используется цикл
, в котором счетчик 1
for
изменяет свое значение в диапазоне от 1 до 6 включительно. Конструкция 1
$i
называется экранированием в Sass и служит для того, чтобы значение счетчика 1
#{$i}
подставилось в коде “как есть”, в виде текста.1
$i
В результате получается такой вывод:
- h1
- h2
- h3
- h4
- h5
- h6
Далее идут CSS-правила с использованием функции
препроцессора Sass и переменных 1
lighten()
, 1
$color
, 1
$percent
. Последние две строки производят увеличение значения переменных на указанный шаг:1
$fontSize
Приведенный выше SCSS-код скомпилируется в готовый CSS-код подобного вида:
Смотрим результат в браузере и радуемся успеху:
Полный код примера цикла for в Sass
Полный код рассмотренного примера создания цикла
в Sass приведен ниже:1
for
Скомпилированный в CSS-код результат нашего кодинга:
На этом все.