Strictly speaking, do style
tags need to be inside the head
of an HTML document? The 4.01 standard implies that, but it's not explicitly stated:
The STYLE element allows authors to put style sheet rules in the head of the document. HTML permits any number of STYLE elements in the HEAD section of a document.
I say "strictly speaking" because I have an app that puts style elements inside the body, and all the browsers I've tested with seem to use the style elements. I'm just wondering if that's actually legal.
style
is supposed to be included only on the head
of the document.
Besides the validation point, one caveat that might interest you when using style
on the body
is the flash of unstyled content. The browser would get elements that would be styled after they are displayed, making them shift on size/shape/font and/or flicker. It is generally a sign of bad craftsmanship. Generally you can get away with putting style
anywhere you want, but try to avoid it whenever it is possible.
HTML 5 introduced a scoped
attribute that allowed style
tags to be included everywhere in the body, but then they removed it again.