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.mediatypescopedtitle 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>