(Оскільки ми тут у SE.SX, більш стратегічний підхід може бути цінним доповненням до звичайних технічних міркувань.)
[преамбула] Специфікація HTML5 - це ціль, що постійно рухається, і вони мають політику подальшого контролю за усталеною загальною практикою. Вони застаріли і воскресили риси в минулому, змінили значення інших, змінили фокус методичних рекомендацій і т. Д. Це не написано на вічність з усією мудрістю людства, доступною всім відразу. Специфікація не є священним джерелом істини. Цілком природно, що іноді браузери мають рацію. [/ преамбула]
Ситуація в ОП надзвичайно поширена і справедлива.
У вас є CMS з розробленою та встановленою темою, всі CSS завантажуються належним чином з HEAD, тоді ви, редактор сторінки, залишені модною коробкою WYSIWYG, за допомогою якої ви можете (слава Богу!) Перейти у "вихідний режим" та введіть (вставте) у розмітку HTML (раніше створений в іншому місці, з більш підходящими інструментами). На щастя, ви навіть можете включити STYLE
теги (можливо, через неоднозначне упущення у фільтр тегів) ... День врятується від безлічі повторюваних бурхливих робіт, що руйнують душу. Але у вас все ще немає ніяких засобів втручатися в елемент HEAD системи за сценарієм редагування сторінки.
Чи повинно це позбавити вас від прямого використання CSS з фрагментами HTML, лише тому, що специфікація так говорить?
Або у вас є односторінковий додаток AJAX.
Він працює без перезавантаження протягом тривалого сеансу, і є синдикований вміст, що надходить з різних випадкових джерел, усі вони довільно та незалежно стилізовані. Вимагати їх першої конверсії використовувати лише вбудовані STYLE
атрибути замість того, щоб просто надходити із вбудованим STYLE
елементом, було б абсурдом.
Більше того: ви можете: а) вже вбудовувати будь-який CSS в будь-яку точку за BODY
допомогою STYLE
атрибутів, тому CSS в будь-якому випадку "теоретично" легальний; і б) ви вже можете робити все, що завгодно, з будь-яким стилем, коли завгодно (і більше) з Javascript, тому CSS також вже можна неправильно використовувати в патологічно неефективних способах. І ніхто з нас ніколи не буде заперечувати проти цих рис. Також не W3C.
Отже, що саме такого зла в STYLE
елементах BODY
? Які ті додаткові несприятливі наслідки вони могли б додати до нашого широкого арсеналу зловживань конструкціями HTML? Більш низька продуктивність? Мабуть. Іноді.
Це вагома причина скасувати цю неймовірно корисну практику, яку підтримує кожен браузер чомусь? Не в мільйон миль!
Ми не ідіоти. Ну, не всі, чи не завжди ...;) Техніки з ризиком поганої роботи можуть бути просто задокументовані , а не просто заборонені. Раніше у нас в Інтернеті були аплети Java, і вижили. Автомобілі можуть зловживати, викликаючи нещастя, навіть їжу можна вживати в тривожні, неефективні способи, а водії, які їдять, можуть бути в середньому навіть дурнішими, ніж середній веб-дизайнер. Крім того, Шановний W3C, не потрібно хвилюватися: озлоблені стада металошукачів, що мають ноги, відбиті STYLE
елементами, BODY
все ще не можуть піти за W3C і помститися. Вони не знають адреси. І ніг у них немає.
Отже, будь ласка: зробіть так, щоб ваш голос був почутий за те, щоб STYLE
стати законним BODY
! Покірно цитуючи текст, але якщо не забезпечити життєздатну альтернативу, яка краща, ніж нинішня ситуація, не допоможе. Це насправді загроза цій методиці останнього вирішення проблеми.
Пам'ятайте: специфікація HTML5 називається рекомендацією .