Comments 17
Согласно стандарту пользовательских свойств, в качестве значения можно использовать любое существующее корректное CSS-значение.
Фраза «корректное CSS-значение» как-то двояко интерпретируется. Не просто любое, а почти произвольный набор почти любых токенов. Тот же стандарт в качестве примера приводит --foo: if(x > 5) this.width = 10;
, который валидный, хоть и в целом бесполезный
--color: var(--color, #abcdef);
https://hi-lab.ru/arduino-mega-server
на эту технологию, но мне (как наверное и многим другим) важна максимальная совместимость.
Если нет необходимости менять переменные на лету в браузере, то (почти) любые использования переменных можно заменить на конкретные значения
Или можно добавить конкретные значения как fallback для старых браузеров, а для новых переменные тоже оставить — так умеет делать postcss-custom-properties
Зачем плодить сущности? Я использую CSS-переменные только для статики и прекрасно живу без всяких препроцессоров, postcss более чем достаточно для моих задач.
Препроцессор нужен и полезен в любом случае, так что как раз он и не плодит лишние сущности.
Огласите весь список полезностей, пожалуйста? Абсолютно все фичи, которые мне нужны были от less и scss, я нашёл и использую в postcss — переменные в том числе. С тех пор нужность less, scss и прочих мне непонятна.
Отличная статья! Но глаз зацепился за досадную неточность: псевдокласс :root
не «ввели в стандарте CSS Custom Properties», а был с самого начала в стандарте CSS-селекторов 3 уровня. Впрочем, для объявления глобальных переменных, действительно, он пришёлся как нельзя кстати)
Подводные камни пользовательских CSS-свойств