ЛУЧШИЙ САЙТ ДЛЯ ВЕБ-РАЗРАБОТЧИКОВ
Sass. Уроки для начинающих

Sass Переменные


Sass Переменные

Переменные - это способ хранения информации, которую вы можете использовать позже.

С помощью Sass вы можете хранить информацию в переменных, например:

  • строки
  • числа
  • цвета
  • булевы
  • списки
  • нули

Для объявления переменных Sass использует символ $, за которым следует имя:

Синтаксис переменных Sass:

$имяПеременной: значение;

В следующем примере объявляются 4 переменные с именами myFont, myColor, myFontSize и myWidth. После объявления переменных вы можете использовать переменные где угодно:

SCSS Синтаксис:

$myFont: Helvetica, sans-serif;
$myColor: red;
$myFontSize: 18px;
$myWidth: 680px;

body {
  font-family: $myFont;
  font-size: $myFontSize;
  color: $myColor;
}

#container {
  width: $myWidth;
}

Выполнить пример »

Итак, когда файл Sass переносится, он принимает переменные (myFont, myColor и т.д.) и выводит обычный CSS со значениями переменных, помещенными в CSS, например:

CSS Вывод:

body {
  font-family: Helvetica, sans-serif;
  font-size: 18px;
  color: red;
}

#container {
  width: 680px;
}


Sass Область действия переменной

Переменные Sass доступны только на уровне вложенности, на котором они определены.

Посмотрите на следующий пример:

SCSS Синтаксис:

$myColor: red;

h1 {
  $myColor: green;
  color: $myColor;
}

p {
  color: $myColor;
}

Выполнить пример »

Будет ли цвет текста внутри тега <p> красным или зеленым? Он будет красным!

Другое определение, $myColor: green; находится внутри правила <h1> и будет доступен только там!

Таким образом, вывод CSS будет таким:

CSS вывод:

h1 {
  color: green;
}

p {
  color: red;
}

Хорошо, это поведение по умолчанию для области переменной.


Использование Sass !global

Поведение по умолчанию для области действия переменной можно изменить с помощью переключателя !global.

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

Посмотрите на следующий пример (такой же, как и выше, но с добавлением !global):

SCSS Синтаксис:

$myColor: red;

h1 {
  $myColor: green !global;
  color: $myColor;
}

p {
  color: $myColor;
}

Выполнить пример »

Теперь цвет текста внутри тега <p> будет зеленым!

Таким образом, вывод CSS будет:

CSS вывод:

h1 {
  color: green;
}

p {
  color: green;
}

Примечание: Глобальные переменные следует определять вне каких-либо правил. Было бы разумно определить все глобальные переменные в отдельном файле с именем "_globals.scss", и включением файла с ключевым словом @include.