style
elementscoped
attribute is present: flow content.scoped
attribute is absent: where metadata content is expected.scoped
attribute is absent: in a
noscript
element that is a child of a
head
element.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.type
attribute, but must match requirements
described in prose below.media
type
scoped
title
attribute has special semantics on
this element.interface HTMLStyleElement : HTMLElement { attribute boolean disabled; attribute DOMString media; attribute DOMString type; attribute boolean scoped; }; HTMLStyleElement implements LinkStyle;
The style
element allows authors to embed
style information in their documents. The style
element is one of several inputs to
the styling processing model. The
element does not represent content for the user.
The type
attribute gives the
styling language. If the attribute is present, its value must be a
valid MIME type that designates a styling
language. The charset
parameter must not be
specified. The default value for the type
attribute, which is used if the attribute
is absent, is "text/css
". [RFC2318]
The media
attribute says which
media the styles apply to. The value must be a valid media query.
The default, if the media
attribute is omitted, is
"all
", meaning that by default styles apply
to all media.
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 implies that only one scoped style
element is allowed at a time, and
that such elements cannot be children of, e.g., a
or ins
elements, even when those are used as
flow content containers.
The title
attribute on
style
elements defines
alternative style sheet sets. If the style
element has no title
attribute, then it has no title; the
title
attribute of ancestors does not apply to
the style
element. [CSSOM]
The title
attribute on style
elements, like the title
attribute on link
elements, differs from the global
title
attribute in that a style
block without a title does not
inherit the title of the parent element: it merely has no
title.
The textContent
of a style
element must match the style
production in the following ABNF, the character set
for which is Unicode. [ABNF]
style = no-c-start *( c-start no-c-end c-end no-c-start ) no-c-start = <any string that doesn't contain a substring that matches c-start > c-start = "<!--" no-c-end = <any string that doesn't contain a substring that matches c-end > c-end = "-->"
This specification does not specify a style system, but CSS is expected to be supported by most Web browsers. [CSS]
The disabled
IDL attribute
behaves as defined for the alternative style sheets
DOM.
The LinkStyle
interface is also implemented by this element; the styling processing model defines
how. [CSSOM]
The following document has its stress emphasis styled as bright red text rather than italics text, while leaving titles of works and Latin words in their default italics. It shows how using appropriate elements enables easier restyling of documents.
<!DOCTYPE html> <html lang="en-US"> <head> <title>My favorite book</title> <style> body { color: black; background: white; } em { font-style: normal; color: red; } </style> </head> <body> <p>My <em>favorite</em> book of all time has <em>got</em> to be <cite>A Cat's Life</cite>. It is a book by P. Rahmel that talks about the <i lang="la">Felis Catus</i> in modern human society.</p> </body> </html>