External stylesheets are often associated with HTML documents using the
link element, but it is important to use the element's attributes properly. This is because there are three kinds of stylesheets, and the
title attribute is key to the establishment of two of them. The presence of the
title attribute in a
link element that references an external stylesheet can cause the stylesheet to become a preferred stylesheet. This will in most cases cause the external stylesheet to be ignored, which is typically not what an author intends to do.
Why Titles Matter
title attribute affects how your external stylesheet is applied to a document. In fact, the use of the
title attribute is so significant that HTML 4.01 categorizes stylesheets according to the presence or absence of a title. By including a
title attribute, you can control whether a particular stylesheet always affects a document, or if it is only used under certain circumstances.
There are three kinds of stylesheets that are possible: persistent, preferred, and alternate stylesheets. Authors will be most familiar with persistent stylesheets, of which any number may be applied to a document at once. A persistent stylesheet is one which has no
title attribute and a value of
stylesheet supplied for the
rel attribute. A document may refer to one or more persistent stylesheets, all of which are used in the presentation of the document.
A preferred stylesheet, on the other hand, is one that has a value of
stylesheet supplied for the
rel attribute, and any value at all for the
title attribute. Here are two examples:
<link type="text/css" rel="stylesheet" title="Basic styles" href="basic.css" /> <link type="text/css" rel="stylesheet" title="Fish and boats" href="ocean.css" />
According to the HTML 4.01 specification, only one of the preferred stylesheets can be used at a time. Therefore, given the above example, only one of the two preferred stylesheets will be applied to the document. The specification does not supply a procedure to decide which one should be used, so user agents are free to make whatever choice they like.
link to a stylesheet that includes a
title attribute cannot be persistent, and is likely to be ignored by the Web browser. Any
link element referring to a stylesheet with a
title attribute must be either preferred or alternate, depending on the value of the
In a document that refers to alternate stylesheets, the preferred stylesheet will be used so long as none of the alternate stylesheets are selected by the user. Thus, when the document is loaded, the browser will use all of the persistent stylesheets and one preferred stylesheet (but remember, there should only be one preferred stylesheet). Once the user selects one of the alternate stylesheets, the preferred stylesheet will no longer be used, although the user can always re-select the preferred stylesheet.
The primary use for preferred stylesheets is to designate one stylesheet as preferred for the document display; that is, it is the "default" presentation. If any alternate stylesheet is selected, then the preferred stylesheet is dropped in favor of the user-selected alternate stylesheet. This is different than persistent stylesheets, which are always applied to a document, whether an alternate stylesheet has been selected or not.
Authors should make sure that any stylesheet which should always be applied is persistent instead of preferred. To quote from HTML 4.01 Specification, section 14.3.1:
- To make a style sheet persistent, set the
relattribute to "stylesheet" and don't set the
- To make a style sheet preferred, set the
relattribute to "stylesheet" and name the style sheet with the
Original Document Information
- Author(s): Eric A. Meyer
- Last Updated Date: December 30th, 2002
- Copyright © 2001-2003 Netscape.