(Поскольку мы находимся здесь в SE.SX, более стратегический подход может стать ценным дополнением к обычным техническим соображениям.)
[преамбула] Спецификация HTML5 является постоянно движущейся целью, и у них есть политика, позволяющая следить за установившейся общей практикой. Они устарели и возродили особенности в прошлом, изменили значение других, сместили фокус методических рекомендаций и т. Д. Это написано не на всю вечность со всей мудростью человечества, доступной одновременно. Спекуляция не является священным источником истины. Вполне естественно, что иногда браузеры правы. [/ Преамбулы]
Ситуация ОП в подавляющем большинстве случаев является общепринятой и действительной.
У вас есть CMS с разработанной и установленной темой, весь CSS-файл загружен должным образом из HEAD, и вот вы, редактор страниц, оставили модное окно WYSIWYG, которое вы можете (слава Богу!) Переключить в «режим исходного кода» и введите (вставьте) в HTML-разметку (ранее созданную с помощью более подходящих инструментов). К счастью, вы даже можете включить STYLE
теги (возможно, из-за случайного упущения в фильтре тегов) ... День спасен от множества повторяющихся разрушающих душу ворчаний. Но у вас все еще нет никаких средств для вмешательства в элемент HEAD системы из сценария редактирования страницы.
Должно ли это лишить вас возможности использовать ваш CSS простым способом с вашими фрагментами HTML, просто потому, что в спецификации так сказано?
Или у вас есть одностраничное приложение AJAX.
Он работает без перезагрузки в течение длительного сеанса, и есть синдицированный контент, поступающий из различных случайных источников, все в произвольном и независимом стиле. Требовать, чтобы они были сначала преобразованы, чтобы использовать только встроенные STYLE
атрибуты вместо того, чтобы просто STYLE
идти со встроенным элементом, было бы абсурдно.
Более того: вы можете a) уже встраивать любой CSS в любом месте BODY
через STYLE
атрибуты, так что CSS в любом случае «теоретически» разрешен; и b) вы уже можете делать все, что захотите, практически с любым стилем, когда захотите (и даже больше) из Javascript, так что CSS также уже можно неправильно использовать патологически неэффективными способами. И никто из нас никогда не будет возражать против этих особенностей. Как и W3C.
Итак, что же такого плохого в STYLE
элементах BODY
? Каковы те дополнительные неблагоприятные последствия, которые это добавило бы к нашему широкому арсеналу злоупотреблений для конструкций HTML? Более низкая производительность? Вероятно. Иногда.
Является ли это веской причиной отмены этой невероятно полезной практики, поддерживаемой каждым браузером по определенной причине? Не за миллион миль!
Мы не идиоты. Ну, не все или не всегда ...;) Техники с риском плохой работы могут быть просто задокументированы , а не просто запрещены. Раньше у нас были Java-апплеты, и мы выжили. Неправильное использование автомобилей может привести к несчастьям, даже пищу можно использовать беспокоящими, неэффективными способами, а водители, которые могут есть, могут быть в среднем даже глупее, чем обычный веб-дизайнер. Кроме того, дорогой W3C, не нужно беспокоиться: сердитые стада тинкеров-HTML, отстреливших свои ноги STYLE
элементами, BODY
все еще не могут пойти за W3C и отомстить. Они не знают адрес. И у них нет ног.
Итак, пожалуйста: сделайте так, чтобы ваш голос был услышан, чтобы STYLE
стать законным в BODY
! Послушное цитирование текста, но неспособность предоставить жизнеспособную альтернативу, которая лучше, чем текущая ситуация, не поможет. На самом деле это угроза этой последней инстанции.
Помните: спецификация HTML5 называется рекомендацией .