Переменные окружения. Переменные шаблона HTML
Всем привет, тема переменных в CSS давно ходит по интернету, однако не все знают о том, что это такое, да и сама технология не так давно вышла в релиз. И хоть использовать её во многих случаях рановато, уже пора понимать что она из себя представляет и как ею пользоваться. Давайте попробуем разобраться с технологией вместе. Обращу ваше внимание, что эта статья для тех, кто не знает о CSS переменных (кастомных свойствах) или только слышал о них. Если вы знакомы и умеете работать с данной фичей, то вам данная статья будет не интересна.
Итак, тема с переменными в стилях уже затерта до дыр, т.к. они давным давно существуют в препроцессорах. Это удобно, я уже плохо представляю себе написание стилей без возможности сохранить где-то определенное значение (цвет, величину, название шрифта, тип маркера у списка, всё что может придти в голову...). Однако препроцессоры не могут дать нам той гибкости, которую дают нативные переменные в CSS, и скоро вы поймете, почему.
Для начала нужно понять, как объявлять и использовать переменные. Переменные объявляются в селекторах:
:root {
--body-background: #ccc;
}
body {
background-color: var(--body-background);
}
Как видно из листинга выше, переменные объявляются двумя дефисами перед именем:
--variable-name
Чтобы использовать переменную, необходимо воспользоваться функцией var . Она имеет 2 параметра. Это, естественно, имя переменной, а вторым необязательным параметром идёт значение свойства, которое необходимо использовать в случае отсутствия переменной.
На этом набор новых возможностей с приходом переменных, разумеется, не заканчивается. Имея переменные в арсенале CSS, мы получаем большую гибкость в написании стилей. Например, теперь чтобы составить медиазапрос для экранов = 50) {
$TotalCost = $TotalCost $Savings;
}.
$TotalCost = $TotalCost * $Tax;
return $TotalCost;
Так как теперь функцией используются разные имена переменных, необхо димо соответствующим образом изменить вычисления. Чтобы лучше понять область действия переменной, мы поменяли также переменную $TheCost на $TotalCost. Запомните, что $TotalCost в функции это совсем не та перемен ная, как переменная с тем же именем, но находящаяся вне функции
");
Для показа того, что инструкция global вводит переменную в функцию и что любые реализованные в функции изменения применяются глобально, распечатаем значение $Тах до и после вызова функции.
$TotalCost = CalculateTotal ($Quantity, $Discount);
Так как функция принимает теперь только два аргумента, передача четырех аргументов вызовет ошибку.
is now $$Tax .\n
");
Если бы не было инструкции global, то значения, распечатанные здесь и выше, были бы одинаковыми. Но, поскольку глобальная переменная $Тах была модифицирована в функции, распечатанные значения будут разными.
Листинг 9.7 т Так как функции CalculateTotal требуются значения пере менных $Cost и $Тах, они легко могут быть включены с помощью инструкции global. Помните, переменные больше нельзя передавать как аргументы это может запутать программиста и вызвать определенные ошибки в работе при ложения.
1
22
23
24 Calculation Functions
25
26
27