PassFront
  1. PassFront
  2. База знаний
  3. Современные возможности

Какие плюсы и минусы CSS переменных?

Современные возможности

CSS-переменные стали основой дизайн-систем и тем, но у них есть ограничения.

Плюсы

  • Меняются в рантайме — темы, адаптивные значения, данные из JS без перегенерации CSS.
  • Каскад и наследование — можно переопределить значение для части страницы.
  • Нет сборки — работают в чистом CSS.
  • Дизайн-токены — единый источник цветов, отступов и радиусов.
  • Меньше дублирования — меняется одно значение вместо множества правил.
:root { --bg: white; --text: #222; }
[data-theme="dark"] { --bg: #111; --text: #eee; }
body { background: var(--bg); color: var(--text); }

Минусы

  • Не работают в медиазапросах и именах селекторов.
  • Нет проверки — опечатка в имени тихо даст запасное или начальное значение.
  • Отладка — итоговое значение видно только в Computed.
  • Анимация — без @property переменные не анимируются плавно.
  • Производительность — изменение переменной на корне пересчитывает стили всех элементов, которые её используют.

Коротко для собеседования

Плюсы — рантайм, каскад, темы и дизайн-токены без сборки; минусы — нет в медиазапросах, нет проверки опечаток, сложнее отладка и анимация.

Подробнее: MDN — Использование CSS-переменных

Другие вопросы раздела