В дополнение к более ранним ответам, хотя размещение блока кода стиля внутри элемента может работать в современных браузерах (хотя это все еще не решает проблему), всегда есть опасность, особенно в старых браузерах что браузер будет отображать код в виде текста, если раздел стиля не включен в раздел CDATA.
Конечно, другая вещь, помещающая его в элемент, кроме встроенных стилей, заключается в том, что, поскольку он не соответствует спецификациям W3C HTML / XHTML, он заключается в том, что любая страница, содержащая его в теле, не будет работать в валидаторе W3C , Всегда легче выявлять ошибки при непредвиденных проблемах отображения, если весь ваш код корректен, что облегчает обнаружение ошибок. Недопустимый HTML-элемент может отрицательно повлиять на отрисовку любого и всех элементов за пределами того места, где он встречается в коде, поэтому вы можете получить неожиданные эффекты, имеющие элементы там, где их не должно быть, потому что, когда браузер находит недопустимый элемент, он просто дает лучшее представление о том, как он должен отображаться, и разные браузеры могут принимать разные решения о том, как они его отображают.
Независимо от того, используете ли вы переходный или строгий тип документа, он все равно будет недействительным в соответствии с (X) спецификациями HTML.