src/cm/media/js/lib/yui/yui_3.10.3/docs/stylesheet/stylesheet-theme-example.html
author Yves-Marie Haussonne <ymh.work+github@gmail.com>
Fri, 09 May 2014 18:35:26 +0200
changeset 656 a84519031134
parent 525 89ef5ed3c48b
permissions -rw-r--r--
add link to "privacy policy" in the header test
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
525
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     1
<!DOCTYPE html>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     2
<html lang="en" class="yui3-loading">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     3
<head>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     4
    <meta charset="utf-8">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     5
    <title>Adjusting a Page Theme on the Fly</title>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     6
    <link rel="stylesheet" type="text/css" href="../assets/stylesheet/w3.css">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     7
<style>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     8
/* For supporting browsers, the overlay is rendered semi-transparent with
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     9
 * fancy rounded corners */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    10
.yui3-overlay {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    11
    background: rgba(128,128,128,0.3);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    12
    -moz-border-radius: 10px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    13
    -webkit-border-radius: 10px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    14
    border-radius: 10px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    15
    padding: 7px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    16
    cursor: move;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    17
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    18
.yui3-overlay-content {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    19
    background: rgba(205,205,205,0.3);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    20
    -moz-border-radius: 10px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    21
    -webkit-border-radius: 10px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    22
    border-radius: 10px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    23
    padding: 1px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    24
} 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    25
.yui3-overlay form {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    26
    background: #f2fbff url(../assets/stylesheet/gradient-promo.png) repeat-x scroll 0 0;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    27
    border: 2px solid #fff;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    28
    -moz-border-radius: 10px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    29
    -webkit-border-radius: 10px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    30
    border-radius: 10px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    31
    margin: 0;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    32
    padding: 0;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    33
    font-size: 13px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    34
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    35
.yui3-overlay fieldset {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    36
    border: 1px solid #cde;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    37
    -moz-border-radius: 10px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    38
    -webkit-border-radius: 10px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    39
    border-radius: 10px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    40
    margin: 0;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    41
    padding: 20px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    42
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    43
.yui3-overlay h3 {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    44
    border-bottom: 2px solid #fff;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    45
    color: #479;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    46
    background: transparent;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    47
    margin: 0;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    48
    font-size: 175%;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    49
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    50
.yui3-overlay label {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    51
    display: block;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    52
    margin: 1.3em 0 0.5ex;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    53
    font-weight: bold;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    54
    color: #003;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    55
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    56
.yui3-overlay p {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    57
    margin: 2em 0 0;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    58
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    59
/* override the move cursor for the Slider */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    60
.yui3-overlay .yui3-slider:hover {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    61
    cursor: default;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    62
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    63
</style>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    64
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    65
</head>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    66
<body>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    67
    <div class="navbar" align="center">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    68
    &nbsp;<a href="http://www.w3.org/TR/html401/struct/objects.html">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    69
    previous</a> &nbsp; <a href="http://www.w3.org/TR/html401/present/graphics.html">next</a> &nbsp; <a href="http://www.w3.org/TR/html401/cover.html#minitoc">contents</a> &nbsp; <a href="http://www.w3.org/TR/html401/index/elements.html">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    70
    elements</a> &nbsp; <a href="http://www.w3.org/TR/html401/index/attributes.html">attributes</a> &nbsp; <a href="http://www.w3.org/TR/html401/index/list.html">index</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    71
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    72
    <hr></div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    73
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    74
    <h1 align="center"><a name="h-14">14</a> <a name="stylesheets">Style
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    75
    Sheets</a></h1>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    76
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    77
    <div class="subtoc">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    78
    <p><strong>Contents</strong></p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    79
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    80
    <ol>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    81
    <li><a class="tocxref" href="#h-14.1">Introduction to style sheets</a></li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    82
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    83
    <li><a class="tocxref" href="#h-14.2">Adding style to HTML</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    84
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    85
    <ol>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    86
    <li><a class="tocxref" href="#h-14.2.1">Setting the default style sheet
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    87
    language</a></li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    88
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    89
    <li><a class="tocxref" href="#h-14.2.2">Inline style information</a></li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    90
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    91
    <li><a class="tocxref" href="#h-14.2.3">Header style information: the <samp class="einst2">STYLE</samp> element</a></li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    92
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    93
    <li><a class="tocxref" href="#h-14.2.4">Media types</a></li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    94
    </ol>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    95
    </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    96
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    97
    <li><a class="tocxref" href="#h-14.3">External style sheets</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    98
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    99
    <ol>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   100
    <li><a class="tocxref" href="#h-14.3.1">Preferred and alternate style
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   101
    sheets</a></li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   102
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   103
    <li><a class="tocxref" href="#h-14.3.2">Specifying external style
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   104
    sheets</a></li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   105
    </ol>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   106
    </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   107
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   108
    <li><a class="tocxref" href="#h-14.4">Cascading style sheets</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   109
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   110
    <ol>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   111
    <li><a class="tocxref" href="#h-14.4.1">Media-dependent cascades</a></li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   112
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   113
    <li><a class="tocxref" href="#h-14.4.2">Inheritance and cascading</a></li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   114
    </ol>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   115
    </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   116
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   117
    <li><a class="tocxref" href="#h-14.5">Hiding style data from user
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   118
    agents</a></li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   119
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   120
    <li><a class="tocxref" href="#h-14.6">Linking to style sheets with HTTP
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   121
    headers</a></li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   122
    </ol>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   123
    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   124
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   125
    <h2><a name="h-14.1">14.1</a> <span class="index-inst" title="style
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   126
    sheet::introduction to"><a name="idx-style_sheet-3">Introduction to style
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   127
    sheets</a></span></h2>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   128
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   129
    <p>Style sheets represent a major breakthrough for Web page designers,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   130
    expanding their ability to improve the appearance of their pages. In the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   131
    scientific environments in which the Web was conceived, people are more
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   132
    concerned with the content of their documents than the presentation. As people
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   133
    from wider walks of life discovered the Web, the limitations of HTML became a
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   134
    source of continuing frustration and authors were forced to sidestep HTML's
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   135
    stylistic limitations. While the intentions have been good -- to improve the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   136
    presentation of Web pages -- the techniques for doing so have had unfortunate
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   137
    side effects. These techniques work for some of the people, some of the time,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   138
    but not for all of the people, all of the time. They include:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   139
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   140
    <ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   141
    <li>Using proprietary HTML extensions</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   142
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   143
    <li>Converting text into images</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   144
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   145
    <li>Using images for white space control</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   146
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   147
    <li>Use of tables for page layout</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   148
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   149
    <li>Writing a program instead of using HTML</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   150
    </ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   151
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   152
    <p>These techniques considerably increase the complexity of Web pages, offer
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   153
    limited flexibility, suffer from interoperability problems, and create
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   154
    hardships for people with disabilities.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   155
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   156
    <p>Style sheets solve these problems at the same time they supersede the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   157
    limited range of presentation mechanisms in HTML. Style sheets make it easy to
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   158
    specify the amount of white space between text lines, the amount lines are
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   159
    indented, the colors used for the text and the backgrounds, the font size and
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   160
    style, and a host of other details.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   161
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   162
    <div class="example">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   163
    <p>For example, the following short CSS style sheet (stored in the file
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   164
    "special.css"), sets the text color of a paragraph to green and surrounds it
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   165
    with a solid red border:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   166
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   167
    <pre>P.special {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   168
    color : green;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   169
    border: solid red;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   170
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   171
    </pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   172
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   173
    <p>Authors may link this style sheet to their source HTML document with the <a href="http://www.w3.org/TR/html401/struct/links.html#edef-LINK" class="noxref"><samp class="einst">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   174
    LINK</samp></a> element:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   175
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   176
    <pre>&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   177
       "http://www.w3.org/TR/html4/strict.dtd"&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   178
    &lt;HTML&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   179
      &lt;HEAD&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   180
        &lt;LINK href="special.css" rel="stylesheet" type="text/css"&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   181
      &lt;/HEAD&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   182
      &lt;BODY&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   183
        &lt;P class="special"&gt;This paragraph should have special green text.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   184
      &lt;/BODY&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   185
    &lt;/HTML&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   186
    </pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   187
    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   188
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   189
    <p>HTML 4 provides support for the following style sheet features:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   190
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   191
    <dl>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   192
    <dt><b>Flexible placement of style information</b></dt>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   193
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   194
    <dd>Placing style sheets in separate files makes them easy to reuse. Sometimes
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   195
    it's useful to include rendering instructions within the document to which they
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   196
    apply, either grouped at the start of the document, or in attributes of the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   197
    elements throughout the body of the document. To make it easier to manage style
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   198
    on a site basis, this specification describes how to use HTTP headers to set
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   199
    the style sheets to be applied to a document.</dd>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   200
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   201
    <dt><b>Independence from specific style sheet languages</b></dt>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   202
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   203
    <dd>This specification doesn't tie HTML to any particular style sheet language.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   204
    This allows for a range of such languages to be used, for instance simple ones
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   205
    for the majority of users and much more complex ones for the minority of users
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   206
    with highly specialized needs. The examples included below all use the CSS
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   207
    (Cascading Style Sheets) language <a rel="biblioentry" href="http://www.w3.org/TR/html401/references.html#ref-CSS1" class="informref">[CSS1]</a>, but other style
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   208
    sheet languages would be possible.</dd>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   209
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   210
    <dt><b>Cascading</b></dt>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   211
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   212
    <dd>This is the capability provided by some style sheet languages such as CSS
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   213
    to allow style information from several sources to be blended together. These
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   214
    could be, for instance, corporate style guidelines, styles common to a group of
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   215
    documents, and styles specific to a single document. By storing these
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   216
    separately, style sheets can be reused, simplifying authoring and making more
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   217
    effective use of network caching. The cascade defines an ordered sequence of
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   218
    style sheets where rules in later sheets have greater precedence than earlier
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   219
    ones. Not all style sheet languages support cascading.</dd>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   220
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   221
    <dt><span class="index-inst" title="accessibility::and style sheets"><a name="idx-accessibility"><b>Media dependencies</b></a></span></dt>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   222
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   223
    <dd>HTML allows authors to specify documents in a media-independent way. This
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   224
    allows users to access Web pages using a wide variety of devices and media,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   225
    e.g., graphical displays for computers running Windows, Macintosh OS, and X11,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   226
    devices for television sets, specially adapted phones and PDA-based portable
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   227
    devices, speech-based browsers, and braille-based tactile devices.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   228
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   229
    <p>Style sheets, by contrast, apply to specific media or media groups. A style
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   230
    sheet intended for screen use may be applicable when printing, but is of little
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   231
    use for speech-based browsers. This specification allows you to define the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   232
    broad categories of media a given style sheet is applicable to. This allows
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   233
    user agents to avoid retrieving inappropriate style sheets. Style sheet
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   234
    languages may include features for describing media dependencies within the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   235
    same style sheet.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   236
    </dd>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   237
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   238
    <dt><b>Alternate styles</b></dt>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   239
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   240
    <dd>Authors may wish to offer readers several ways to view a document. For
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   241
    instance, a style sheet for rendering compact documents with small fonts, or
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   242
    one that specifies larger fonts for increased legibility. This specification
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   243
    allows authors to specify a preferred style sheet as well as alternates that
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   244
    target specific users or media. User agents should give users the opportunity
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   245
    to select from among alternate style sheets or to switch off style sheets
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   246
    altogether.</dd>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   247
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   248
    <dt><b>Performance concerns</b></dt>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   249
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   250
    <dd>Some people have voiced concerns over performance issues for style sheets.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   251
    For instance, retrieving an external style sheet may delay the full
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   252
    presentation for the user. A similar situation arises if the document head
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   253
    includes a lengthy set of style rules.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   254
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   255
    <p>The current proposal addresses these issues by allowing authors to include
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   256
    rendering instructions within each HTML element. The rendering information is
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   257
    then always available by the time the user agent wants to render each
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   258
    element.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   259
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   260
    <p>In many cases, authors will take advantage of a common style sheet for a
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   261
    group of documents. In this case, distributing style rules throughout the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   262
    document will actually lead to worse performance than using a linked style
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   263
    sheet, since for most documents, the style sheet will already be present in the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   264
    local cache. The public availability of good style sheets will encourage this
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   265
    effect.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   266
    </dd>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   267
    </dl>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   268
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   269
    <h2><a name="h-14.2">14.2</a> Adding style to HTML</h2>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   270
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   271
    <div class="note">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   272
    <p><em><strong>Note.</strong> The sample default style sheet for HTML 4 that is
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   273
    included in <a rel="biblioentry" href="http://www.w3.org/TR/html401/references.html#ref-CSS2" class="informref">[CSS2]</a> expresses generally accepted default style information
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   274
    for each element. Authors and implementors alike might find this a useful
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   275
    resource.</em></p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   276
    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   277
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   278
    <p>HTML documents may contain style sheet rules directly in them or they may
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   279
    import style sheets.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   280
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   281
    <p>Any style sheet language may be used with HTML. A simple style sheet
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   282
    language may suffice for the needs of most users, but other languages may be
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   283
    more suited to highly specialized needs. This specification uses the style
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   284
    language "Cascading Style Sheets" (<a rel="biblioentry" href="http://www.w3.org/TR/html401/references.html#ref-CSS1" class="informref">[CSS1]</a>), abbreviated CSS,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   285
    for examples.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   286
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   287
    <p>The <a href="http://www.w3.org/TR/html401/types.html#type-style">syntax of style data</a> depends on
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   288
    the style sheet language.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   289
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   290
    <h3><a name="h-14.2.1">14.2.1</a> <span class="index-inst" title="default::style sheet language|style sheet
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   291
    language::default|HTTP::Content-Style-Type header|Content-Style-Type header"><a name="default-style">Setting the default style sheet language</a></span></h3>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   292
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   293
    <p>Authors must specify the style sheet language of style information
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   294
    associated with an HTML document.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   295
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   296
    <p>Authors should use the <a href="http://www.w3.org/TR/html401/struct/global.html#edef-META" class="noxref"><samp class="einst">META</samp></a> element to set the default style
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   297
    sheet language for a document. For example, to set the default to CSS, authors
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   298
    should put the following declaration in the <a href="http://www.w3.org/TR/html401/struct/global.html#edef-HEAD" class="noxref"><samp class="einst">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   299
    HEAD</samp></a> of their documents:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   300
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   301
    <pre>&lt;META http-equiv="Content-Style-Type" content="text/css"&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   302
    </pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   303
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   304
    <p>The default style sheet language may also be set with HTTP headers. The
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   305
    above <a href="http://www.w3.org/TR/html401/struct/global.html#edef-META" class="noxref"><samp class="einst">META</samp></a> declaration is equivalent to the HTTP header:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   306
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   307
    <pre>Content-Style-Type: text/css
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   308
    </pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   309
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   310
    <p>User agents should determine the default style sheet language for a document
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   311
    according to the following steps (highest to lowest priority):</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   312
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   313
    <ol>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   314
    <li>If any <a href="http://www.w3.org/TR/html401/struct/global.html#edef-META" class="noxref"><samp class="einst">META</samp></a> declarations specify the "Content-Style-Type",
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   315
    the last one in the character stream determines the default style sheet
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   316
    language.</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   317
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   318
    <li>Otherwise, if any HTTP headers specify the "Content-Style-Type", the last
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   319
    one in the character stream determines the default style sheet language.</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   320
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   321
    <li>Otherwise, the default style sheet language is "text/css".</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   322
    </ol>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   323
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   324
    <p>Documents that include elements that set the <a href="http://www.w3.org/TR/html401/present/styles.html#adef-style" class="noxref"><samp class="ainst">style</samp></a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   325
    attribute but which don't define a default style sheet language are incorrect.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   326
    <span class="index-inst" title="authoring tool::and default style sheet
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   327
    language"><a name="idx-authoring_tool">Authoring tools</a></span> should
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   328
    generate default style sheet language information (typically a <a href="http://www.w3.org/TR/html401/struct/global.html#edef-META" class="noxref"><samp class="einst">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   329
    META</samp></a> declaration) so that user agents do not have to rely on a
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   330
    default of "text/css".</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   331
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   332
    <h3><a name="h-14.2.2">14.2.2</a> <a name="style-element">Inline style
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   333
    information</a></h3>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   334
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   335
    <div class="adef-list">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   336
    <p><em>Attribute definitions</em></p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   337
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   338
    <dl>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   339
    <dt><a name="adef-style"><samp class="adef">style</samp></a> = <a href="http://www.w3.org/TR/html401/types.html#type-style"><em>style</em></a> <a href="http://www.w3.org/TR/html401/types.html#case-neutral">[CN]</a></dt>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   340
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   341
    <dd>This attribute specifies style information for the current element.</dd>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   342
    </dl>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   343
    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   344
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   345
    <p><span class="index-inst" title="style sheet::inline rules"><a name="idx-style_sheet-4">The</a></span> <a href="http://www.w3.org/TR/html401/types.html#type-style">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   346
    syntax</a> of the value of the <a href="http://www.w3.org/TR/html401/present/styles.html#adef-style" class="noxref">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   347
    <samp class="ainst">style</samp></a> attribute is determined by the <a href="#default-style">default style sheet language</a>. For example, for [[CSS2]]
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   348
    inline style, use the declaration block syntax described in section 4.1.8
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   349
    (without curly brace delimiters).</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   350
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   351
    <div class="example">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   352
    <p>This CSS example sets color and font size information for the text in a
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   353
    specific paragraph.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   354
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   355
    <pre>&lt;P style="font-size: 12pt; color: fuchsia"&gt;Aren't style sheets wonderful?
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   356
    </pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   357
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   358
    <p>In CSS, property declarations have the form "name : value" and are separated
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   359
    by a semi-colon.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   360
    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   361
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   362
    <p>To specify style information for more than one element, authors should use
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   363
    the <samp class="edef">STYLE</samp> element. For optimal flexibility, authors
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   364
    should define styles in external style sheets.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   365
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   366
    <h3><a name="h-14.2.3">14.2.3</a> <a name="style-group">Header style
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   367
    information</a>: the <a name="edef-STYLE"><samp class="edef">STYLE</samp></a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   368
    element</h3>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   369
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   370
    <div class="dtd-fragment">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   371
    <pre class="dtd-fragment">&lt;!ELEMENT <a href="http://www.w3.org/TR/html401/present/styles.html#edef-STYLE" class="noxref"><samp class="einst">STYLE</samp></a> - - <a href="http://www.w3.org/TR/html401/sgml/dtd.html#StyleSheet">%StyleSheet</a>        -- style info --&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   372
    &lt;!ATTLIST STYLE
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   373
      <a href="http://www.w3.org/TR/html401/sgml/dtd.html#i18n">%i18n;</a>                               -- <a href="http://www.w3.org/TR/html401/struct/dirlang.html#adef-lang">lang</a>, <a href="http://www.w3.org/TR/html401/struct/dirlang.html#adef-dir">dir</a>, for use with title --
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   374
      <a href="http://www.w3.org/TR/html401/present/styles.html#adef-type-STYLE" class="noxref"><samp class="ainst-STYLE">type</samp></a>        <a href="http://www.w3.org/TR/html401/sgml/dtd.html#ContentType">%ContentType;</a>  #REQUIRED -- content type of style language --
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   375
      <a href="http://www.w3.org/TR/html401/present/styles.html#adef-media" class="noxref"><samp class="ainst-STYLE">media</samp></a>       <a href="http://www.w3.org/TR/html401/sgml/dtd.html#MediaDesc">%MediaDesc;</a>    #IMPLIED  -- designed for use with these media --
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   376
      <a href="http://www.w3.org/TR/html401/struct/global.html#adef-title" class="noxref"><samp class="ainst-STYLE">title</samp></a>       <a href="http://www.w3.org/TR/html401/sgml/dtd.html#Text">%Text;</a>         #IMPLIED  -- advisory title --
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   377
      &gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   378
    </pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   379
    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   380
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   381
    <p><em>Start tag: <strong>required</strong>, End tag: <strong>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   382
    required</strong></em></p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   383
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   384
    <div class="adef-list">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   385
    <p><em>Attribute definitions</em></p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   386
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   387
    <dl>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   388
    <dt><a name="adef-type-STYLE"><samp class="adef">type</samp></a> = <a href="http://www.w3.org/TR/html401/types.html#type-content-type"><em>content-type</em></a> <a href="http://www.w3.org/TR/html401/types.html#case-insensitive">[CI]</a></dt>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   389
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   390
    <dd>This attribute specifies the style sheet language of the element's contents
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   391
    and overrides the default style sheet language. The style sheet language is
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   392
    specified as a content type (e.g., "text/css"). Authors must supply a value for
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   393
    this attribute; there is no default value for this attribute.</dd>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   394
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   395
    <dt><a name="adef-media"><samp class="adef">media</samp></a> = <a href="http://www.w3.org/TR/html401/types.html#type-media-descriptors"><em>media-descriptors</em></a> <a href="http://www.w3.org/TR/html401/types.html#case-insensitive">[CI]</a></dt>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   396
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   397
    <dd>This attribute specifies the intended destination medium for style
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   398
    information. It may be a single media descriptor or a comma-separated list. The
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   399
    default value for this attribute is "screen".</dd>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   400
    </dl>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   401
    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   402
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   403
    <div class="aref-list">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   404
    <p><em>Attributes defined elsewhere</em></p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   405
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   406
    <ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   407
    <li><a href="http://www.w3.org/TR/html401/struct/dirlang.html#adef-lang" class="noxref"><samp class="ainst">lang</samp></a> (<a href="http://www.w3.org/TR/html401/struct/dirlang.html#language-info">language information</a>), <a href="http://www.w3.org/TR/html401/struct/dirlang.html#adef-dir" class="noxref"><samp class="ainst">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   408
    dir</samp></a> (<a href="http://www.w3.org/TR/html401/struct/dirlang.html#bidirection">text
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   409
    direction</a>)</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   410
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   411
    <li><a href="http://www.w3.org/TR/html401/struct/global.html#adef-title" class="noxref"><samp class="ainst">title</samp></a> (<a href="http://www.w3.org/TR/html401/struct/global.html#title">element
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   412
    title</a>)</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   413
    </ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   414
    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   415
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   416
    <p>The <a href="http://www.w3.org/TR/html401/present/styles.html#edef-STYLE" class="noxref"><samp class="einst">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   417
    STYLE</samp></a> element allows authors to put style sheet rules in the <span class="index-inst" title="style sheet::rules in HEAD"><a name="idx-style_sheet-5">head</a></span> of the document. HTML permits any number of
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   418
    <a href="http://www.w3.org/TR/html401/present/styles.html#edef-STYLE" class="noxref"><samp class="einst">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   419
    STYLE</samp></a> elements in the <a href="http://www.w3.org/TR/html401/struct/global.html#edef-HEAD" class="noxref"><samp class="einst">HEAD</samp></a> section of a document.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   420
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   421
    <p>User agents that don't support style sheets, or don't support the specific
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   422
    style sheet language used by a <a href="http://www.w3.org/TR/html401/present/styles.html#edef-STYLE" class="noxref">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   423
    <samp class="einst">STYLE</samp></a> element, must hide the contents of the <a href="http://www.w3.org/TR/html401/present/styles.html#edef-STYLE" class="noxref"><samp class="einst">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   424
    STYLE</samp></a> element. <span class="index-inst" title="error::rendering
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   425
    style rules in STYLE"><a name="idx-error">It is an error</a></span> to render
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   426
    the content as part of the document's text. Some style sheet languages support
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   427
    syntax for <a href="#hiding">hiding the content</a> from non-conforming user
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   428
    agents.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   429
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   430
    <p>The <a href="http://www.w3.org/TR/html401/types.html#type-style">syntax of style data</a> depends on
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   431
    the style sheet language.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   432
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   433
    <p>Some style sheet implementations may allow a wider variety of rules in the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   434
    <a href="http://www.w3.org/TR/html401/present/styles.html#edef-STYLE" class="noxref"><samp class="einst">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   435
    STYLE</samp></a> element than in the <a href="http://www.w3.org/TR/html401/present/styles.html#adef-style" class="noxref"><samp class="ainst">style</samp></a> attribute. For example, with CSS,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   436
    rules may be declared within a <a href="http://www.w3.org/TR/html401/present/styles.html#edef-STYLE" class="noxref">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   437
    <samp class="einst">STYLE</samp></a> element for:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   438
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   439
    <ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   440
    <li>All instances of a specific HTML element (e.g., all <a href="http://www.w3.org/TR/html401/struct/text.html#edef-P" class="noxref"><samp class="einst">P</samp></a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   441
    elements, all <a href="http://www.w3.org/TR/html401/struct/global.html#edef-H1" class="noxref"><samp class="einst">H1</samp></a> elements, etc.)</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   442
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   443
    <li>All instances of an HTML element belonging to a specific class (i.e., whose
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   444
    <a href="http://www.w3.org/TR/html401/struct/global.html#adef-class" class="noxref"><samp class="ainst">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   445
    class</samp></a> attribute is set to some value).</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   446
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   447
    <li>Single instances of an HTML element (i.e., whose <a href="http://www.w3.org/TR/html401/struct/global.html#adef-id" class="noxref"><samp class="ainst">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   448
    id</samp></a> attribute is set to some value).</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   449
    </ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   450
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   451
    <p>Rules for style rule precedences and inheritance depend on the style sheet
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   452
    language.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   453
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   454
    <div class="example">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   455
    <p>The following CSS <a href="http://www.w3.org/TR/html401/present/styles.html#edef-STYLE" class="noxref"><samp class="einst">STYLE</samp></a> declaration puts a border around every <a href="http://www.w3.org/TR/html401/struct/global.html#edef-H1" class="noxref"><samp class="einst">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   456
    H1</samp></a> element in the document and centers it on the page.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   457
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   458
    <pre>&lt;HEAD&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   459
     &lt;STYLE type="text/css"&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   460
       H1 {border-width: 1; border: solid; text-align: center}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   461
     &lt;/STYLE&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   462
    &lt;/HEAD&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   463
    </pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   464
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   465
    <p>To specify that this style information should only apply to <a href="http://www.w3.org/TR/html401/struct/global.html#edef-H1" class="noxref"><samp class="einst">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   466
    H1</samp></a> elements of a specific class, we modify it as follows:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   467
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   468
    <pre>&lt;HEAD&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   469
     &lt;STYLE type="text/css"&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   470
       H1.myclass {border-width: 1; border: solid; text-align: center}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   471
     &lt;/STYLE&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   472
    &lt;/HEAD&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   473
    &lt;BODY&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   474
     &lt;H1 class="myclass"&gt; This H1 is affected by our style &lt;/H1&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   475
     &lt;H1&gt; This one is not affected by our style &lt;/H1&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   476
    &lt;/BODY&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   477
    </pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   478
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   479
    <p>Finally, to limit the scope of the style information to a single instance of
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   480
    <a href="http://www.w3.org/TR/html401/struct/global.html#edef-H1" class="noxref"><samp class="einst">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   481
    H1</samp></a>, set the <a href="http://www.w3.org/TR/html401/struct/global.html#adef-id" class="noxref">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   482
    <samp class="ainst">id</samp></a> attribute:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   483
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   484
    <pre>&lt;HEAD&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   485
     &lt;STYLE type="text/css"&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   486
       #myid {border-width: 1; border: solid; text-align: center}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   487
     &lt;/STYLE&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   488
    &lt;/HEAD&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   489
    &lt;BODY&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   490
     &lt;H1 class="myclass"&gt; This H1 is not affected &lt;/H1&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   491
     &lt;H1 id="myid"&gt; This H1 is affected by style &lt;/H1&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   492
     &lt;H1&gt; This H1 is not affected &lt;/H1&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   493
    &lt;/BODY&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   494
    </pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   495
    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   496
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   497
    <p><span class="index-inst" title="style sheet::used with DIV and SPAN"><a name="idx-style_sheet-6">Although style information</a></span> may be set for
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   498
    almost every HTML element, two elements, <a href="http://www.w3.org/TR/html401/struct/global.html#edef-DIV" class="noxref"><samp class="einst">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   499
    DIV</samp></a> and <a href="http://www.w3.org/TR/html401/struct/global.html#edef-SPAN" class="noxref">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   500
    <samp class="einst">SPAN</samp></a>, are particularly useful in that they do
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   501
    not impose any presentation semantics (besides <a href="http://www.w3.org/TR/html401/struct/global.html#block-inline">block-level vs. inline</a>). When combined
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   502
    with style sheets, these elements allow users to extend HTML indefinitely,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   503
    particularly when used with the <a href="http://www.w3.org/TR/html401/struct/global.html#adef-class" class="noxref"><samp class="ainst">class</samp></a> and <a href="http://www.w3.org/TR/html401/struct/global.html#adef-id" class="noxref"><samp class="ainst">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   504
    id</samp></a> attributes.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   505
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   506
    <div class="example">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   507
    <p>In the following example, we use the <a href="http://www.w3.org/TR/html401/struct/global.html#edef-SPAN" class="noxref"><samp class="einst">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   508
    SPAN</samp></a> element to set the font style of the first few words of a
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   509
    paragraph to small caps.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   510
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   511
    <pre>&lt;HEAD&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   512
     &lt;STYLE type="text/css"&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   513
      SPAN.sc-ex { font-variant: small-caps }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   514
     &lt;/STYLE&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   515
    &lt;/HEAD&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   516
    &lt;BODY&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   517
      &lt;P&gt;&lt;SPAN class="sc-ex"&gt;The first&lt;/SPAN&gt; few words of
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   518
      this paragraph are in small-caps.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   519
    &lt;/BODY&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   520
    </pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   521
    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   522
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   523
    <div class="example">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   524
    <p>In the following example, we use <a href="http://www.w3.org/TR/html401/struct/global.html#edef-DIV" class="noxref"><samp class="einst">DIV</samp></a> and the <a href="http://www.w3.org/TR/html401/struct/global.html#adef-class" class="noxref"><samp class="ainst">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   525
    class</samp></a> attribute to set the text justification for a series of
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   526
    paragraphs that make up the abstract section of a scientific article. This
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   527
    style information could be reused for other abstract sections by setting the <a href="http://www.w3.org/TR/html401/struct/global.html#adef-class" class="noxref"><samp class="ainst">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   528
    class</samp></a> attribute elsewhere in the document.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   529
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   530
    <pre>&lt;HEAD&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   531
     &lt;STYLE type="text/css"&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   532
       DIV.Abstract { text-align: justify }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   533
     &lt;/STYLE&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   534
    &lt;/HEAD&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   535
    &lt;BODY&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   536
     &lt;DIV class="Abstract"&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   537
       &lt;P&gt;The Chieftain product range is our market winner for
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   538
         the coming year. This report sets out how to position
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   539
         Chieftain against competing products.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   540
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   541
       &lt;P&gt;Chieftain replaces the Commander range, which will
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   542
         remain on the price list until further notice.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   543
     &lt;/DIV&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   544
    &lt;/BODY&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   545
    </pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   546
    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   547
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   548
    <h3><a name="h-14.2.4">14.2.4</a> <span class="index-inst" title="media::used
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   549
    with style sheets|style sheet::target media for"><a name="media-types">Media
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   550
    types</a></span></h3>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   551
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   552
    <p>HTML allows authors to design documents that take advantage of the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   553
    characteristics of the media where the document is to be rendered (e.g.,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   554
    graphical displays, television screens, handheld devices, speech-based
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   555
    browsers, braille-based tactile devices, etc.). By specifying the <a href="http://www.w3.org/TR/html401/present/styles.html#adef-media" class="noxref"><samp class="ainst">media</samp></a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   556
    attribute, authors allow user agents to load and apply style sheets
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   557
    selectively. Please consult the list of recognized <a href="http://www.w3.org/TR/html401/types.html#type-media-descriptors">media descriptors</a>.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   558
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   559
    <div class="example">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   560
    <p>The following sample declarations apply to <a href="http://www.w3.org/TR/html401/struct/global.html#edef-H1" class="noxref"><samp class="einst">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   561
    H1</samp></a> elements. When projected in a business meeting, all instances
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   562
    will be blue. When printed, all instances will be centered.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   563
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   564
    <pre>&lt;HEAD&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   565
     &lt;STYLE type="text/css" media="projection"&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   566
        H1 { color: blue}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   567
     &lt;/STYLE&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   568
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   569
     &lt;STYLE type="text/css" media="print"&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   570
       H1 { text-align: center }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   571
     &lt;/STYLE&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   572
    </pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   573
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   574
    <p>This example adds sound effects to anchors for use in speech output:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   575
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   576
    <pre> &lt;STYLE type="text/css" media="aural"&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   577
       A { cue-before: uri(bell.aiff); cue-after: uri(dong.wav)}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   578
     &lt;/STYLE&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   579
    &lt;/HEAD&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   580
    </pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   581
    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   582
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   583
    <p>Media control is particularly interesting when applied to external style
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   584
    sheets since user agents can save time by retrieving from the network only
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   585
    those style sheets that apply to the current device. For instance, speech-based
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   586
    browsers can avoid downloading style sheets designed for visual rendering. See
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   587
    the section on <a href="#media-cascades">media-dependent cascades</a> for more
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   588
    information.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   589
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   590
    <h2><a name="h-14.3">14.3</a> <span class="index-inst" title="style
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   591
    sheet::external"><a name="style-external">External style sheets</a></span></h2>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   592
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   593
    <p>Authors may separate style sheets from HTML documents. This offers several
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   594
    benefits:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   595
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   596
    <ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   597
    <li>Authors and Web site managers may share style sheets across a number of
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   598
    documents (and sites).</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   599
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   600
    <li>Authors may change the style sheet without requiring modifications to the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   601
    document.</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   602
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   603
    <li>User agents may load style sheets selectively (based on media
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   604
    descriptions).</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   605
    </ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   606
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   607
    <h3><a name="h-14.3.1">14.3.1</a> Preferred and alternate style sheets</h3>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   608
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   609
    <p>HTML allows authors to associate any number of external style sheets with a
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   610
    document. The style sheet language defines how multiple external style sheets
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   611
    interact (for example, the CSS "cascade" rules).</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   612
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   613
    <p><span class="index-def" title="style sheet::alternate|alternate style
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   614
    sheets"><a name="didx-style_sheet">Authors may specify a number of mutually
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   615
    exclusive style sheets called <dfn>alternate</dfn> style sheets.</a></span>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   616
    Users may select their favorite among these depending on their preferences. For
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   617
    instance, an author may specify one style sheet designed for small screens and
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   618
    another for users with weak vision (e.g., large fonts). User agents should
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   619
    allow users to select from alternate style sheets.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   620
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   621
    <p><span class="index-def" title="style sheet::preferred|preferred style
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   622
    sheets"><a name="didx-style_sheet-1">The author may specify that one of the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   623
    alternates is a <dfn>preferred</dfn> style sheet.</a></span> User agents should
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   624
    apply the author's preferred style sheet unless the user has selected a
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   625
    different alternate.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   626
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   627
    <p>Authors may group several alternate style sheets (including the author's
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   628
    preferred style sheets) under a single <dfn>style name</dfn>. When a user
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   629
    selects a named style, the user agent must apply all style sheets with that
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   630
    name. User agents must not apply alternate style sheets with a different style
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   631
    name. The section on <a href="#specifying-external">specifying external style
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   632
    sheets</a> explains how to name a group of style sheets.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   633
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   634
    <p><span class="index-def" title="style sheet::persistent|persistent style
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   635
    sheets"><a name="didx-style_sheet-2">Authors may also specify <dfn>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   636
    persistent</dfn> style sheets that user agents must apply in addition to any
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   637
    alternate style sheet.</a></span></p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   638
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   639
    <p>User agents must respect <a href="http://www.w3.org/TR/html401/types.html#type-media-descriptors">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   640
    media descriptors</a> when applying any style sheet.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   641
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   642
    <p>User agents should also allow users to disable the author's style sheets
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   643
    entirely, in which case the user agent must not apply any persistent or
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   644
    alternate style sheets.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   645
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   646
    <h3><a name="h-14.3.2">14.3.2</a> <span class="index-inst" title="style
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   647
    sheet::specification of external|link::and external style sheets"><a name="specifying-external">Specifying external style sheets</a></span></h3>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   648
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   649
    <p>Authors specify external style sheets with the following attributes of the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   650
    <a href="http://www.w3.org/TR/html401/struct/links.html#edef-LINK" class="noxref"><samp class="einst">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   651
    LINK</samp></a> element:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   652
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   653
    <ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   654
    <li>Set the value of <a href="http://www.w3.org/TR/html401/struct/links.html#adef-href" class="noxref">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   655
    <samp class="ainst">href</samp></a> to the location of the style sheet file.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   656
    The value of <a href="http://www.w3.org/TR/html401/struct/links.html#adef-href" class="noxref"><samp class="ainst">href</samp></a> is a <a href="http://www.w3.org/TR/html401/types.html#type-uri">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   657
    URI</a>.</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   658
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   659
    <li>Set the value of the <a href="http://www.w3.org/TR/html401/struct/links.html#adef-type-A" class="noxref"><samp class="ainst-A">type</samp></a> attribute to indicate the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   660
    language of the linked (style sheet) resource. This allows the user agent to
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   661
    avoid downloading a style sheet for an unsupported style sheet language.</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   662
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   663
    <li>Specify that the style sheet is persistent, preferred, or alternate:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   664
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   665
    <ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   666
    <li>To make a style sheet persistent, set the <a href="http://www.w3.org/TR/html401/struct/links.html#adef-rel" class="noxref"><samp class="ainst">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   667
    rel</samp></a> attribute to "stylesheet" and don't set the <a href="http://www.w3.org/TR/html401/struct/global.html#adef-title" class="noxref"><samp class="ainst">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   668
    title</samp></a> attribute.</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   669
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   670
    <li>To make a style sheet preferred, set the <a href="http://www.w3.org/TR/html401/struct/links.html#adef-rel" class="noxref"><samp class="ainst">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   671
    rel</samp></a> attribute to "stylesheet" and name the style sheet with the <a href="http://www.w3.org/TR/html401/struct/global.html#adef-title" class="noxref"><samp class="ainst">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   672
    title</samp></a> attribute.</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   673
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   674
    <li>To specify an alternate style sheet, set the <a href="http://www.w3.org/TR/html401/struct/links.html#adef-rel" class="noxref"><samp class="ainst">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   675
    rel</samp></a> attribute to "alternate stylesheet" and name the style sheet
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   676
    with the <a href="http://www.w3.org/TR/html401/struct/global.html#adef-title" class="noxref"><samp class="ainst">title</samp></a> attribute.</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   677
    </ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   678
    </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   679
    </ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   680
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   681
    <p>User agents should provide a means for users to view and pick from the list
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   682
    of alternate styles. The value of the <a href="http://www.w3.org/TR/html401/struct/global.html#adef-title" class="noxref"><samp class="ainst">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   683
    title</samp></a> attribute is recommended as the name of each choice.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   684
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   685
    <div class="example">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   686
    <p>In this example, we first specify a persistent style sheet located in the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   687
    file <tt>mystyle.css</tt>:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   688
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   689
    <pre>&lt;LINK href="mystyle.css" rel="stylesheet" type="text/css"&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   690
    </pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   691
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   692
    <p>Setting the <a href="http://www.w3.org/TR/html401/struct/global.html#adef-title" class="noxref"><samp class="ainst">title</samp></a> attribute makes this the author's preferred
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   693
    style sheet:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   694
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   695
    <pre> &lt;LINK href="mystyle.css" title="compact" rel="stylesheet" type="text/css"&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   696
    </pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   697
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   698
    <p>Adding the keyword "alternate" to the <a href="http://www.w3.org/TR/html401/struct/links.html#adef-rel" class="noxref"><samp class="ainst">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   699
    rel</samp></a> attribute makes it an alternate style sheet:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   700
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   701
    <pre>&lt;LINK href="mystyle.css" title="Medium" rel="alternate stylesheet" type="text/css"&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   702
    </pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   703
    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   704
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   705
    <p>For more information on external style sheets, please consult the section on
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   706
    <a href="http://www.w3.org/TR/html401/struct/links.html#linksandss">links and external style
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   707
    sheets.</a></p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   708
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   709
    <p><span class="index-inst" title="HTTP::Default-Style header|style
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   710
    sheet::specification of preferred">Authors may also use the <a name="idx-HTTP-1" href="http://www.w3.org/TR/html401/struct/global.html#edef-META" class="noxref"><samp class="einst">META</samp></a> element to set the document's preferred style
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   711
    sheet.</span> For example, to set the preferred style sheet to "compact" (see
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   712
    the preceding example), authors may include the following line in the <a href="http://www.w3.org/TR/html401/struct/global.html#edef-HEAD" class="noxref"><samp class="einst">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   713
    HEAD</samp></a>:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   714
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   715
    <div class="example">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   716
    <pre>&lt;META http-equiv="Default-Style" content="compact"&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   717
    </pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   718
    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   719
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   720
    <p>The preferred style sheet may also be specified with HTTP headers. The above
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   721
    <a href="http://www.w3.org/TR/html401/struct/global.html#edef-META" class="noxref"><samp class="einst">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   722
    META</samp></a> declaration is equivalent to the HTTP header:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   723
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   724
    <div class="example">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   725
    <pre>Default-Style: "compact"
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   726
    </pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   727
    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   728
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   729
    <p>If two or more <a href="http://www.w3.org/TR/html401/struct/global.html#edef-META" class="noxref">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   730
    <samp class="einst">META</samp></a> declarations or HTTP headers specify the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   731
    preferred style sheet, the last one takes precedence. HTTP headers are
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   732
    considered to occur earlier than the document <a href="http://www.w3.org/TR/html401/struct/global.html#edef-HEAD" class="noxref"><samp class="einst">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   733
    HEAD</samp></a> for this purpose.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   734
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   735
    <p>If two or more <a href="http://www.w3.org/TR/html401/struct/links.html#edef-LINK" class="noxref"><samp class="einst">LINK</samp></a> elements specify a preferred style sheet, the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   736
    first one takes precedence.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   737
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   738
    <p>Preferred style sheets specified with <a href="http://www.w3.org/TR/html401/struct/global.html#edef-META" class="noxref"><samp class="einst">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   739
    META</samp></a> or HTTP headers have precedence over those specified with the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   740
    <a href="http://www.w3.org/TR/html401/struct/links.html#edef-LINK" class="noxref"><samp class="einst">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   741
    LINK</samp></a> element.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   742
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   743
    <h2><a name="h-14.4">14.4</a> <span class="index-inst" title="style
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   744
    sheet::cascading|cascading style sheets"><a name="idx-style_sheet-11">Cascading
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   745
    style sheets</a></span></h2>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   746
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   747
    <p><dfn>Cascading</dfn> style sheet languages such as CSS allow style
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   748
    information from several sources to be blended together. However, not all style
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   749
    sheet languages support cascading. To define a cascade, authors specify a
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   750
    sequence of <a href="http://www.w3.org/TR/html401/struct/links.html#edef-LINK" class="noxref"><samp class="einst">LINK</samp></a> and/or <a href="http://www.w3.org/TR/html401/present/styles.html#edef-STYLE" class="noxref"><samp class="einst">STYLE</samp></a> elements. The style information
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   751
    is cascaded in the order the elements appear in the <a href="http://www.w3.org/TR/html401/struct/global.html#edef-HEAD" class="noxref"><samp class="einst">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   752
    HEAD</samp></a>.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   753
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   754
    <div class="note">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   755
    <p><em><strong>Note.</strong> This specification does not specify how style
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   756
    sheets from different style languages cascade. Authors should avoid mixing
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   757
    style sheet languages.</em></p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   758
    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   759
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   760
    <div class="example">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   761
    <p>In the following example, we specify two alternate style sheets named
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   762
    "compact". If the user selects the "compact" style, the user agent must apply
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   763
    both external style sheets, as well as the persistent "common.css" style sheet.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   764
    If the user selects the "big print" style, only the alternate style sheet
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   765
    "bigprint.css" and the persistent "common.css" will be applied.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   766
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   767
    <pre>&lt;LINK rel="alternate stylesheet" title="compact" href="small-base.css" type="text/css"&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   768
    &lt;LINK rel="alternate stylesheet" title="compact" href="small-extras.css" type="text/css"&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   769
    &lt;LINK rel="alternate stylesheet" title="big print" href="bigprint.css" type="text/css"&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   770
    &lt;LINK rel="stylesheet" href="common.css" type="text/css"&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   771
    </pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   772
    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   773
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   774
    <div class="example">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   775
    <p>Here is a cascade example that involves both the <a href="http://www.w3.org/TR/html401/struct/links.html#edef-LINK" class="noxref"><samp class="einst">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   776
    LINK</samp></a> and <a href="http://www.w3.org/TR/html401/present/styles.html#edef-STYLE" class="noxref"><samp class="einst">STYLE</samp></a> elements.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   777
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   778
    <pre>&lt;LINK rel="stylesheet" href="corporate.css" type="text/css"&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   779
    &lt;LINK rel="stylesheet" href="techreport.css" type="text/css"&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   780
    &lt;STYLE type="text/css"&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   781
        p.special { color: rgb(230, 100, 180) }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   782
    &lt;/STYLE&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   783
    </pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   784
    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   785
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   786
    <h3><a name="h-14.4.1">14.4.1</a> <span class="index-inst" title="media::and
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   787
    external style sheets|link::and media-dependent style sheets"><a name="media-cascades">Media-dependent cascades</a></span></h3>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   788
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   789
    <p>A cascade may include style sheets applicable to different media. Both <a href="http://www.w3.org/TR/html401/struct/links.html#edef-LINK" class="noxref"><samp class="einst">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   790
    LINK</samp></a> and <a href="http://www.w3.org/TR/html401/present/styles.html#edef-STYLE" class="noxref"><samp class="einst">STYLE</samp></a> may be used with the <a href="http://www.w3.org/TR/html401/present/styles.html#adef-media" class="noxref"><samp class="ainst">media</samp></a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   791
    attribute. The user agent is then responsible for filtering out those style
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   792
    sheets that do not apply to the current medium.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   793
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   794
    <div class="example">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   795
    <p>In the following example, we define a cascade where the "corporate" style
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   796
    sheet is provided in several versions: one suited to printing, one for screen
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   797
    use and one for speech-based browsers (useful, say, when reading email in the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   798
    car). The "techreport" stylesheet applies to all media. The color rule defined
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   799
    by the <a href="http://www.w3.org/TR/html401/present/styles.html#edef-STYLE" class="noxref"><samp class="einst">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   800
    STYLE</samp></a> element is used for print and screen but not for aural
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   801
    rendering.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   802
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   803
    <pre>&lt;LINK rel="stylesheet" media="aural" href="corporate-aural.css" type="text/css"&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   804
    &lt;LINK rel="stylesheet" media="screen" href="corporate-screen.css" type="text/css"&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   805
    &lt;LINK rel="stylesheet" media="print" href="corporate-print.css" type="text/css"&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   806
    &lt;LINK rel="stylesheet" href="techreport.css" type="text/css"&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   807
    &lt;STYLE media="screen, print" type="text/css"&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   808
        p.special { color: rgb(230, 100, 180) }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   809
    &lt;/STYLE&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   810
    </pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   811
    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   812
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   813
    <h3><a name="h-14.4.2">14.4.2</a> Inheritance and cascading</h3>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   814
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   815
    <p>When the user agent wants to render a document, it needs to find values for
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   816
    style properties, e.g. the font family, font style, size, line height, text
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   817
    color and so on. The exact mechanism depends on the style sheet language, but
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   818
    the following description is generally applicable:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   819
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   820
    <p>The cascading mechanism is used when a number of style rules all apply
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   821
    directly to an element. The mechanism allows the user agent to sort the rules
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   822
    by specificity, to determine which rule to apply. If no rule can be found, the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   823
    next step depends on whether the style property can be inherited or not. Not
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   824
    all properties can be inherited. For these properties the style sheet language
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   825
    provides default values for use when there are no explicit rules for a
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   826
    particular element.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   827
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   828
    <p>If the property can be inherited, the user agent examines the immediately
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   829
    enclosing element to see if a rule applies to that. This process continues
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   830
    until an applicable rule is found. This mechanism allows style sheets to be
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   831
    specified compactly. For instance, authors may specify the font family for all
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   832
    elements within the <a href="http://www.w3.org/TR/html401/struct/global.html#edef-BODY" class="noxref">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   833
    <samp class="einst">BODY</samp></a> by a single rule that applies to the <a href="http://www.w3.org/TR/html401/struct/global.html#edef-BODY" class="noxref"><samp class="einst">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   834
    BODY</samp></a> element.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   835
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   836
    <h2><a name="h-14.5">14.5</a> <span class="index-inst" title="user agent::and
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   837
    style data|style sheet::comments to hide|comments::used to hide style sheet
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   838
    data"><a name="hiding">Hiding style data from user agents</a></span></h2>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   839
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   840
    <p>Some style sheet languages support syntax intended to allow authors to hide
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   841
    the content of <a href="http://www.w3.org/TR/html401/present/styles.html#edef-STYLE" class="noxref"><samp class="einst">STYLE</samp></a> elements from non-conforming user agents.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   842
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   843
    <div class="example">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   844
    <p>This example illustrates for CSS how to comment out the content of <a href="http://www.w3.org/TR/html401/present/styles.html#edef-STYLE" class="noxref"><samp class="einst">STYLE</samp></a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   845
    elements to ensure that older, non-conforming user agents will not render them
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   846
    as text.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   847
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   848
    <pre>&lt;STYLE type="text/css"&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   849
    &lt;!--
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   850
       H1 { color: red }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   851
       P  { color: blue}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   852
       --&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   853
    &lt;/STYLE&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   854
    </pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   855
    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   856
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   857
    <h2><a name="h-14.6">14.6</a> <span class="index-inst" title="HTTP::used to
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   858
    link external style sheets"><a name="idx-HTTP-2">Linking to style sheets with
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   859
    HTTP headers</a></span></h2>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   860
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   861
    <p><em>This section only applies to user agents conforming to versions of HTTP
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   862
    that define a Link header field. Note that HTTP 1.1 as defined by <a rel="biblioentry" href="http://www.w3.org/TR/html401/references.html#ref-RFC2616" class="informref">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   863
    [RFC2616]</a> does not include a Link header field (refer to section
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   864
    19.6.3).</em></p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   865
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   866
    <p>Web server managers may find it convenient to configure a server so that a
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   867
    style sheet will be applied to a group of pages. The HTTP <tt>Link</tt> header
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   868
    has the same effect as a <a href="http://www.w3.org/TR/html401/struct/links.html#edef-LINK" class="noxref"><samp class="einst">LINK</samp></a> element with the same attributes
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   869
    and values. Multiple <tt>Link</tt> headers correspond to multiple <a href="http://www.w3.org/TR/html401/struct/links.html#edef-LINK" class="noxref"><samp class="einst">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   870
    LINK</samp></a> elements occurring in the same order. For instance,</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   871
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   872
    <pre>Link: &lt;http://www.acme.com/corporate.css&gt;; REL=stylesheet
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   873
    </pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   874
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   875
    <p>corresponds to:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   876
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   877
    <pre>&lt;LINK rel="stylesheet" href="http://www.acme.com/corporate.css"&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   878
    </pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   879
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   880
    <p>It is possible to specify several alternate styles using multiple <tt>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   881
    Link</tt> headers, and then use the <a href="http://www.w3.org/TR/html401/struct/links.html#adef-rel" class="noxref"><samp class="ainst">rel</samp></a> attribute to determine the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   882
    default style.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   883
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   884
    <div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   885
    <p>In the following example, "compact" is applied by default since it omits the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   886
    "alternate" keyword for the <a href="http://www.w3.org/TR/html401/struct/links.html#adef-rel" class="noxref"><samp class="ainst">rel</samp></a> attribute.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   887
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   888
    <pre>Link: &lt;compact.css&gt;; rel="stylesheet"; title="compact"
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   889
    Link: &lt;bigprint.css&gt;; rel="alternate stylesheet"; title="big print"
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   890
    </pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   891
    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   892
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   893
    <p>This should also work when HTML documents are sent by email. Some email
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   894
    agents can alter the ordering of <a rel="biblioentry" href="http://www.w3.org/TR/html401/references.html#ref-RFC822" class="informref">[RFC822]</a> headers. To
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   895
    protect against this affecting the cascading order for style sheets specified
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   896
    by <tt>Link</tt> headers, authors can use header concatenation to merge several
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   897
    instances of the same header field. The quote marks are only needed when the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   898
    attribute values include whitespace. Use SGML entities to reference characters
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   899
    that are otherwise not permitted within HTTP or email headers, or that are
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   900
    likely to be affected by transit through gateways.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   901
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   902
    <p><a href="http://www.w3.org/TR/html401/struct/links.html#edef-LINK" class="noxref"><samp class="einst">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   903
    LINK</samp></a> and <a href="http://www.w3.org/TR/html401/struct/global.html#edef-META" class="noxref">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   904
    <samp class="einst">META</samp></a> elements implied by HTTP headers are
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   905
    defined as occurring before any explicit <a href="http://www.w3.org/TR/html401/struct/links.html#edef-LINK" class="noxref"><samp class="einst">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   906
    LINK</samp></a> and <a href="http://www.w3.org/TR/html401/struct/global.html#edef-META" class="noxref">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   907
    <samp class="einst">META</samp></a> elements in the document's <a href="http://www.w3.org/TR/html401/struct/global.html#edef-HEAD" class="noxref"><samp class="einst">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   908
    HEAD</samp></a>.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   909
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   910
    <div class="navbar" align="center">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   911
    <hr><a href="http://www.w3.org/TR/html401/struct/objects.html">previous</a> &nbsp; <a href="http://www.w3.org/TR/html401/present/graphics.html">next</a> &nbsp; <a href="http://www.w3.org/TR/html401/cover.html#minitoc">contents</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   912
    &nbsp; <a href="http://www.w3.org/TR/html401/index/elements.html">elements</a> &nbsp; <a href="http://www.w3.org/TR/html401/index/attributes.html">attributes</a> &nbsp; <a href="http://www.w3.org/TR/html401/index/list.html">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   913
    index</a></div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   914
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   915
<div id="form_container">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   916
    <form class="yui3-widget-bd" id="theme_form" action="#" method="get">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   917
        <fieldset>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   918
            <h3>Update Theme</h3>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   919
            <label for="font_size">Font size:</label>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   920
            <input type="text" size="3" id="font_size" value="16px">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   921
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   922
            <label for="heading_color">Heading color:</label>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   923
            <input type="text" size="12" id="heading_color" value="#005A9C">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   924
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   925
            <label for="link_hover">Link hover backgound:</label>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   926
            <input type="text" size="12" id="link_hover" value="#ffa">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   927
        </fieldset>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   928
        <input type="submit">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   929
    </form>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   930
</div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   931
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   932
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   933
<script src="../../build/yui/yui-min.js"></script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   934
<script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   935
// Create a new YUI instance, requiring stylesheet, overlay, slider, and the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   936
// dd-plugin to make the overlay draggable
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   937
YUI().use("stylesheet","overlay","slider","dd-plugin", function (Y) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   938
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   939
    var myStyleSheet = new Y.StyleSheet(),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   940
        overlayContent = Y.one('#form_container'),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   941
        overlay,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   942
        slider,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   943
        slider_container,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   944
        fontSizeInput,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   945
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   946
    // Create the Overlay, using the form container as the contentBox.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   947
    // The form is assigned a class yui-widget-bd that will be automatically
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   948
    // discovered by Overlay to populate the Overlay's body section.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   949
    // The overlay is positioned in the top right corner, but made draggable
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   950
    // using Y.Plugin.Drag, provided by the dd-plugin module.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   951
    overlay = new Y.Overlay({
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   952
        srcNode: overlayContent,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   953
        alignOn: [],
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   954
        width: '225px',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   955
        align: { points: [ Y.WidgetPositionAlign.TR, Y.WidgetPositionAlign.TR ] },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   956
        plugins: [ Y.Plugin.Drag ]
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   957
    }).render();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   958
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   959
    // Slider needs a parent element to have the sam skin class for UI skinning
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   960
    overlayContent.addClass('yui3-skin-sam');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   961
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   962
    // Progressively enhance the font-size input with a Slider
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   963
    fontSizeInput = Y.one('#font_size');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   964
    fontSizeInput.set('type','hidden');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   965
    fontSizeInput.get('parentNode').insertBefore(
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   966
        Y.Node.create('6 <span></span> 36'),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   967
        fontSizeInput);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   968
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   969
    slider_container = fontSizeInput.previous( "span" );
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   970
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   971
    // Create a Slider to contain font size between 6px and 36px, using the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   972
    // page's current font size as the initial value.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   973
    // Set up an event subscriber during construction to update the replaced
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   974
    // input field's value and apply the change to the StyleSheet
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   975
    slider = new Y.Slider({
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   976
        length: '100px',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   977
        min: 6,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   978
        max: 36,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   979
        value: parseInt(Y.one('body').getStyle('fontSize')) || 13,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   980
        after: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   981
            valueChange: function (e) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   982
                var size = e.newVal + 'px';
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   983
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   984
                this.thumb.set('title', size);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   985
                fontSizeInput.set('value', size);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   986
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   987
                myStyleSheet.set('body', { fontSize: size });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   988
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   989
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   990
    }).render( slider_container );
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   991
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   992
    // The color inputs are assigned keyup listeners that will update the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   993
    // StyleSheet if the current input value is a valid CSS color value
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   994
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   995
    // The heading input affects all h1s, h2, and h3s
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   996
    Y.on('keyup', function (e) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   997
        var color = this.get('value');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   998
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   999
        if (isValidColor(color)) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1000
            myStyleSheet.set('h1, h2, h3', { color: color });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1001
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1002
    }, '#heading_color');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1003
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1004
    // The link hover affects the background color of links when they are
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1005
    // hovered.  There is no way other than via stylesheet modification to
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1006
    // change pseudo-class styles.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1007
    Y.on('keyup', function (e) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1008
        var color = this.get('value');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1009
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1010
        if (isValidColor(color)) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1011
            myStyleSheet.set('a:hover', { backgroundColor: color });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1012
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1013
    }, '#link_hover');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1014
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1015
    // Progressive form enhancement complete, now prevent the form from
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1016
    // submitting normally.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1017
    Y.one('#theme_form input[type=submit]').remove();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1018
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1019
    Y.on('submit', function (e) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1020
        e.halt();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1021
    }, '#theme_form');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1022
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1023
	// A rudimentary validator to make sure we're not trying to set
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1024
	// invalid color values in StyleSheet.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1025
	function isValidColor(v) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1026
        return /^#[0-9a-f]{3}(?:[0-9a-f]{3})?$/i.test(v) ||
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1027
               /^rgb\(\s*\d+\s*,\s*\d+\s*,\s*\d+\s*\)$/.test(v) ||
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1028
               /^[a-z]{3,}$/i.test(v);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1029
	}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1030
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1031
});
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1032
</script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1033
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1034
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1035
<script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1036
YUI.Env.Tests = {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1037
    examples: [],
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1038
    project: '../assets',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1039
    assets: '../assets/stylesheet',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1040
    name: 'stylesheet-theme',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1041
    title: 'Adjusting a Page Theme on the Fly',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1042
    newWindow: '',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1043
    auto:  false 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1044
};
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1045
YUI.Env.Tests.examples.push('stylesheet-theme');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1046
YUI.Env.Tests.examples.push('photo-browser');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1047
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1048
</script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1049
<script src="../assets/yui/test-runner.js"></script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1050
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1051
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1052
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1053
</body>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1054
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1055
</html>