The STYLE element is one of the
three
methods used[-->Index DOT Css] to
include style information in an HTML document.
The STYLE element is used in the document HEAD
section to indicate style information for the entire document.
If a LINKed stylesheet also exists for the current
document, the CSS style rules indicated in the STYLE element should have precedence
over styles in the LINKed stylesheet, given that each of the selectors for the
style rules are equal. For more information on Cascading Style Sheets, please see
Index DOT Css.
NOTE: Because this HEAD element requires
a start and end tag, older browsers may end up displaying the style
content it contains. In order to prevent this, it is STRONGLY
recommended to embed this style information within the HTML Comment
structure (<!-- -->)
Description:
This attribute is a keyword representing the intended rendering
destination for the style sheet definitions. Multiple destinations
are given delimited by commas.
Values: screen [DEFAULT]
- style information should be used for rendering to computer screens. print - style information
should be used for rendering to page-centric devices, ie:
printed paper or print preview screen modes. projection - style information
should be used for rendering to transparent projected media devices. braille - style information
should be used for rendering to braille devices. speech - style information
should be used for rendering to speech synthesizers. all - style information
should be used for rendering to all devices.
Description:
This attribute is for use when other style sheet methods are specified.
It allows the browser to build a menu of alternative style sheets
(such as if one or more external Style Sheets are specified through use
of the LINK element.) It may also be used to
identify the Style Sheet in order to allow the user to have control
over turning it on or off.
Description:
This attribute indicates the Internet Media type (MIME) of the
STYLE element content. This MIME type applies to style rules applied within the STYLE
element area as well as to all
inline
styles[-->Index DOT Css] in the current
document specified by the STYLE attribute used in HTML elements.
Values:CDATA.
[The current allowed values are text/css, and
text/javascript]
Description:
This is a basic XML syntax that keeps all whitespace characters intact when they are parsed. Spacing
characters can be an important part of some CSS properties, so including this attribute in the
standards for this element makes sense.
Values:preserve - maintain all
whitespace characters in rendering and data storage (including multiple
spaces, tabs, carriage returns and linefeeds.)
Example
<html>
<head>
<title>Style
Sheet Example</title>
<styletype="text/css">
<!-- h1 { font-weight: bold; font-size: 12pt; line-height: 14pt; font-family: helvetica; font-style: normal
} -->
</style>
</head>
<body>
This is plain text
<h1>This is Heading 1
affected by a style sheet</h1>
This is plain text
</body>
</html>
DTD Note: This element existed in HTML 3.0, but was
much different than it is now. It was then added to the HTML 3.2 recommendation
as a place holder until HTML 4.0 which details the usage of the element.
It appears that more than one STYLE element can be used in
the HEAD area. This may prove useful in areas where Netscape's JSS
proves to be incompatible with CSS.
[Tests: 1,
2]
While the author CAN legally omit using the HTML comment to
encapsulate the Style information, most older browsers will display
the style information in these cases as document content. Authors are
strongly encouraged to use the HTML Comment for the Style element to
prevent this from happening.
For more information on Style Sheets, please see
Index DOT Css.
Browser Peculiarities
[Test]
IE 4.0 only supports the 'screen', 'print' and 'all' Media
attribute values.
[Test]
IE 3.0 only allowed for a single LINK or STYLE block. Only the last one
specified in the document is used. IE 4.0 and above, Netscape and Opera
merge/cascade multiple STYLE elements.
According to a document on the Mozilla web site, Netscape 4 (and possibly
more) also supports these attributes (of course they don't have ANY
explanation with this claim): HREF, ARCHIVE, CODEBASE and SRC. I have
never seen these attributes mentioned elsewhere, and have not been able
to verify yet if these attributes are supported or not, nor do I know
their exact usage if so.