Понятие CSS переменных

Понятие CSS переменных

От автора: CSS переменные или пользовательские свойства CSS позволяют работать с переменными прямо в CSS. Они отлично помогают в сокращении повторяющегося кода CSS, а также это мощный инструмент таких эффектов, как переключение темы. У CSS переменных есть функции полифилов. Они работают по принципу DRY – не повторяйся. С помощью CSS переменных вы можете локализовывать значения и упрощать первичную разработку, итерационное тестирование и в последствии обслуживание. Они официально включены в CSS спецификацию. Перейдем к деталям.

Стандартное объявление

Любое CSS свойство — color, size, position и т.д. — может храниться в CSS переменной. Имена переменных начинаются с префикса —. Объявляются они путем добавления к элементу, как и с другими стилями:

Пример:

Здесь я определил 2 CSS переменные со значениями цветов внутри селектора :root. Переменные объявляются внутри и распространяются на область видимости селектора. В отличие от других CsS свойств, CSS переменные регистрозависимы. Поэтому —maincolor и —Maincolor будут 2 разные переменные.

Чтобы использовать CSS переменные, их значение необходимо обернуть в функцию var() и передать имя переменной внутрь. После этого можно выбрать необходимое CSS свойство и использовать значение переменной.

Пример:

Еще одна классная функция CSS переменных заключается в том, что мы можем присвоить значение одной CSS переменной другой целиком или частично:

Пример:

Область видимости и каскадирование

CSS переменные ведут себя, как обычные свойства. Переменная доступна в любом теге вниз по каскаду. Например, эти переменные можно использовать в любом месте на странице:

Мы определили одну и ту же переменную –darkborder дважды в разных селекторах. По правилам каскадирования переменная внутри селектора BODY имеет более высокую специфичность, поэтому к img применится значение второй переменной.

CSS переменные наследуются по умолчанию. Значение CSS свойства, определенное на родительском элементе, также применяется к дочерним элементам, если к дочерним элементам применяется данное свойство.

Например:

Наследование свойств можно отключить, если задать специальное значение initial в нужном селекторе. Из примера выше:

Преимущества в медиа запросах

Этот тип шаблона можно использовать для медиа запросов CSS Variables, где все изменения происходят в браузере, а переменные знают об условиях, в которых они используются. Это позволит не повторять селекторы, а не свойства.

Пример:

Простое демо

Установка запасных значений, когда CSS переменная не определена

В качестве фолбека значений для браузеров без поддержки можно использовать:

И все счастливы!

Поддержка в браузерах

Понятие CSS переменных

Много зеленого, можно потестировать.

Заключение

Если вы дочитали статью, надеюсь, вы уже в предвкушении от изучения преимуществ CSS переменных. Попробуйте их в своем проекте! Если вам понравился блог, пожалуйста, оставляйте свои мысли и мнения, а также проблемы и вопросы в комментариях.

Автор: Nirazan Basnet

Источник: //blog.yipl.com.np/

Редакция: Команда webformyself.

Метки:

Похожие статьи:

Комментарии Вконтакте: