(Оскільки ми тут у 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 називається рекомендацією .