Я играл с большим количеством полезных инструментов как HAML и МЕНЬШЕ который дает CSS возможность создания переменных. Я задаюсь вопросом, почему эта функция не была включена когда запущенный CSS. Это слишком избыточно или не действительно необходимо по некоторым причинам?
Я думаю, это потому, что CSS не воспринимался как язык программирования. В HTML тоже нет переменных. Переменные часто считаются действительно необходимыми, только если вы собираетесь манипулировать ими после их создания.
+1 за хороший вопрос. То, о чем вы просите, не является избыточным и, безусловно, находится на вершине списков пожеланий большинства практиков CSS (наряду с вложенностью селекторов).
Я думаю, что это еще один случай очень сложного стандарта, который дошел до финиша для своего первого выпуска, а затем, по той или иной причине, было слишком много усилий, чтобы добавить некоторые очень полезные функции. . Сам каскад, должно быть, был чудовищем для дизайнеров, архитекторов и разработчиков браузеров.
Берт Бос изложил свою позицию в Почему "переменные" в CSS вредны, другая сторона хорошо представлена в CSS Variables Are The Future.
Аргументы Боса варьируются от слабых до бессодержательных.
Каскадные таблицы стилей (CSS) - это не язык программирования. Сначала CSS был разработан как средство для создания последовательного подхода к предоставлению информации о стиле для веб-документов. Эта цель не изменилась со времен CSS1. Он используется для описания семантики представления документа для определенных языков разметки (HTML, XHTML, XML и т.д.).
Что замечательно, так это то, что можно создавать переменные! Один из подходов заключается в использовании языка на стороне сервера, такого как PHP, и создании "динамического CSS". Сейчас есть несколько способов сделать это, и вот несколько сайтов об этом...
Я считаю полезным использовать "динамический CSS". Вот несколько примеров: вы можете позволить пользователям сайта изменять некоторые его аспекты, такие как размер шрифта, вы можете изменить стиль сайта еще проще, вы можете предложить различные темы стиля для сайта и т.д. Возможности безграничны.