sonyps4.ru

Переменные окружения. Переменные шаблона 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 в функции это совсем не та перемен ная, как переменная с тем же именем, но находящаяся вне функции

  • Ниже в сценарии, после строки $Тах = 0.06; (строка 29), распечатайте текущее значение переменной. Оно будет меняться в ходе дальнейшего выполнения сценария.
  • print ("The tax value is currently $$Tax .\n

    ");

    Для показа того, что инструкция global вводит переменную в функцию и что любые реализованные в функции изменения применяются глобально, распечатаем значение $Тах до и после вызова функции.

  • Измените строку вызова функции CalculateTotal () , чтобы переменные
  • $Тах и $Cost больше не передавались как аргументы.
    $TotalCost = CalculateTotal ($Quantity, $Discount);

    Так как функция принимает теперь только два аргумента, передача четырех аргументов вызовет ошибку.

  • Еще раз распечатайте значение переменной $Тах.
  • print ("After calling the function, the tax value
    is now $$Tax .\n

    ");

    Если бы не было инструкции global, то значения, распечатанные здесь и выше, были бы одинаковыми. Но, поскольку глобальная переменная $Тах была модифицирована в функции, распечатанные значения будут разными.

  • Сохраните сценарий (листинг 9.7), загрузите его на сервер и протестируй те в браузере (рис. 9.5). Не забудьте отправить в сценарий значение коли чества (и значение скидки, если захотите), добавив его к адресу URL или через HTMLформу.
  • Листинг 9.7 т Так как функции CalculateTotal требуются значения пере менных $Cost и $Тах, они легко могут быть включены с помощью инструкции global. Помните, переменные больше нельзя передавать как аргументы это может запутать программиста и вызвать определенные ошибки в работе при ложения.

    1
    22
    23
    24 Calculation Functions
    25
    26
    27

    Загрузка...