It states here http://www.w3.org/TR/html-markup/style.html#style:
Permitted parent elements
any element that can contain metadata elements, div, noscript, section, article, aside
that <style>
is more or less allowed every where (where <div>
is allowed)
but, on the other hand, I found a more detailed information here http://www.w3.org/TR/2012/WD-html5-20121025/the-style-element.html#attr-style-scoped
Contexts in which this element can be used: (annotation: style)
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.
and later in this document:
The scoped attribute is a boolean attribute. If present, it indicates that the styles are intended just for the subtree rooted at the style element's parent element, as opposed to the whole Document.
If the scoped attribute is present and the element has a parent element, then the style element must be the first node of flow content in its parent element other than inter-element whitespace, and the parent element's content model must not have a transparent component.
This reads like there are (or will be) "two different <style>
elements": a
<style>
- global - ~~only within<head>
<"scopestyle">
- only(!) with bool scope attr and ~~only at start of<div>
(pls. read "~~" like "more or less")
But the later link is more than 2 years old, and all Browsers (I tested Chrome, FF, IE, Opera) interpret the inflow <style>
as if it was in header. (and ignore AFAIK the scope - yes - still no standard)
So my 3-part question
Is my interpretation of the W3C documents (the 2 styles - logic) correct?
What is the state now - 2015?
And, is there probably someone out there, who knows whats on the horizon coming?
scoped
attribute may be re-introduced in the future, see: github.com/w3c/csswg-drafts/issues/3547. Anyhow, there is a polyfill. – Kroo@scope
rule – Kagera