Я вижу что-то вроде этого:
<div>
<style type="text/css">
...
</style>
</div>
Это очень странно, но все еще работает.
Это против стандартного?
Я вижу что-то вроде этого:
<div>
<style type="text/css">
...
</style>
</div>
Это очень странно, но все еще работает.
Это против стандартного?
Стоит отметить, что хотя он и недействительный HTML, он также чрезвычайно распространен, и любой браузер, который его не поддерживает, не сможет отобразить значительную часть веб-страницы.
В частности, необходимость в настройках, необходимо использовать эту функцию, а HTML 5 определяет < style scoped > для рассмотрения этого случая использования. < style scoped > могут отображаться в теле, хотя определенные таким образом стили не относятся ко всему документу, только к разделу, в котором < style scoped > появляется.
ПРЕДУПРЕЖДЕНИЕ: HTML 5 представляет собой черновик, и нет гарантии, что < style scoped > или любая другая функция HTML 5, которая еще не реализована, никогда не будет реализована.
Да, это нарушает спецификацию HTML.
<!ELEMENT DIV - - (%flow;)* -- generic language/style container -->
(из раздела div в спецификации)
Следуйте гиперссылкам в живой версии, если вы хотите точно увидеть, как% потока; (он не включает стиль).
Браузеры просто склонны делать огромное количество исправлений ошибок, потому что многие авторы делают глупые вещи.
Не зависеть от восстановления ошибок - там много браузеров, и они не все ведут себя одинаково, когда HTML не соответствует спецификации.
STYLE
element разрешен только как дочерний элемент HEAD
. Подробнее см. это объяснение.
Я нашел пример, где тег внутри div неправильно читается IE8 (он отлично работает в Firefox и Chrome) Я не могу воспроизвести его с помощью простого примера, потому что я не знаю, где проблема. Но если я переведу снаружи, все будет работать снова. Почему я использую тег внутри div? потому что я загружаю внешние данные с помощью AJAX внутри этого div, и я не знаю другого способа добавить стили в этой ситуации.