Здесь указано http://www.w3.org/TR/html-markup/style.html#style:
Разрешенные родительские элементы
любой элемент, который может содержать элементы метаданных, div, noscript, раздел, статья, в стороне
что <style>
более или менее разрешен везде (где <div>
разрешено)
но, с другой стороны, я нашел более подробную информацию здесь http://www.w3.org/TR/2012/WD-html5-20121025/the-style-element.html#attr-style-scoped
Контексты, в которых этот элемент может использоваться: (аннотация: стиль)
If the scoped attribute is absent: where metadata content is expected. If the scoped attribute is absent: in a noscript element that is a child of a head element. If the scoped attribute is present: where flow content is expected, but before any other flow content other than inter-element whitespace, and not as the child of an element whose content model is transparent.
а затем в этом документе:
Атрибут scoped - это логический атрибут. Если присутствует, это указывает что стили предназначены только для поддерева, внедренного в стиле элемент родительского элемента, в отличие от всего документа.
Если атрибут scoped присутствует и элемент имеет родительский элемент, тогда элемент стиля должен быть первым node содержимого потока в его родительском элементе, отличном от межэлементного пробела, и модель содержимого родительского элемента не должна иметь прозрачного компонента.
Это означает, что есть (или будут) два разных элемента <style>
: a
-
<style>
- global - ~~ только внутри<head>
-
<"scopestyle">
- только (!) с bool scope attr и ~~ только в начале<div>
(PLS читает "~~" как "более или менее" )
Но более поздняя ссылка больше двух лет, и все браузеры (я тестировал Chrome, FF, IE, Opera) интерпретировали приток <style>
, как если бы он был в заголовке. (и игнорировать AFAIK область - да - до сих пор нет стандарта)
Итак, мой вопрос из трех частей
-
Правильно ли моя интерпретация документов W3C (2 стиля - логика)?
-
Какое состояние сейчас - 2015?
-
И, возможно, кто-то там, кто знает, что на горизонте идет?