|
| 1 | +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" |
| 2 | +"http://www.w3.org/TR/html4/strict.dtd"> |
| 3 | + |
| 4 | +<html lang=en> |
| 5 | + <head> |
| 6 | + <title>Cascading Style Sheets (CSS) Snapshot 2007</title> |
| 7 | + <!-- <link rel="stylesheet" type="text/css" href="default.css"> --> |
| 8 | + <link href="http://www.w3.org/StyleSheets/TR/W3C-CR.css" rel=stylesheet |
| 9 | + type="text/css"> |
| 10 | + |
| 11 | + <body> |
| 12 | + <div class=head> <!--begin-logo--> |
| 13 | + <p><a href="http://www.w3.org/"><img alt=W3C height=48 |
| 14 | + src="http://www.w3.org/Icons/w3c_home" width=72></a> <!--end-logo--> |
| 15 | + |
| 16 | + <h1>Cascading Style Sheets (CSS) Snapshot 2007</h1> |
| 17 | + |
| 18 | + <h2 class="no-num no-toc" id=longstatus-date>W3C Candidate Recommendation |
| 19 | + 15 November 2010</h2> |
| 20 | + |
| 21 | + <dl> |
| 22 | + <dt>This version: |
| 23 | + |
| 24 | + <dd><a |
| 25 | + href="http://www.w3.org/TR/2010/CR-css-beijing-20101115/">http://www.w3.org/TR/2010/CR-css-beijing-20101115/</a> |
| 26 | + |
| 27 | + <dt>Latest version: |
| 28 | + |
| 29 | + <dd><a |
| 30 | + href="http://www.w3.org/TR/css-beijing/">http://www.w3.org/TR/css-beijing/</a> |
| 31 | + |
| 32 | + <dt>Previous version: |
| 33 | + |
| 34 | + <dd><a |
| 35 | + href="http://www.w3.org/TR/2010/WD-css-beijing-20100727/">http://www.w3.org/TR/2010/WD-css-beijing-20100727/</a> |
| 36 | + |
| 37 | + <dt>Editor: |
| 38 | + |
| 39 | + <dd><a href="http://fantasai.inkedblade.net/contact">Elika J. Etemad</a> |
| 40 | + </dl> |
| 41 | + <!--begin-copyright--> |
| 42 | + <p class=copyright><a |
| 43 | + href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright" |
| 44 | + rel=license>Copyright</a> © 2010 <a |
| 45 | + href="http://www.w3.org/"><acronym title="World Wide Web |
| 46 | + Consortium">W3C</acronym></a><sup>®</sup> (<a |
| 47 | + href="http://www.csail.mit.edu/"><acronym title="Massachusetts Institute |
| 48 | + of Technology">MIT</acronym></a>, <a href="http://www.ercim.eu/"><acronym |
| 49 | + title="European Research Consortium for Informatics and |
| 50 | + Mathematics">ERCIM</acronym></a>, <a |
| 51 | + href="http://www.keio.ac.jp/">Keio</a>), All Rights Reserved. W3C <a |
| 52 | + href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>, |
| 53 | + <a |
| 54 | + href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a> |
| 55 | + and <a |
| 56 | + href="http://www.w3.org/Consortium/Legal/copyright-documents">document |
| 57 | + use</a> rules apply.</p> |
| 58 | + <!--end-copyright--> |
| 59 | + <hr title="Separator for header"> |
| 60 | + </div> |
| 61 | + |
| 62 | + <h2 class="no-num no-toc" id=abstract>Abstract</h2> |
| 63 | + |
| 64 | + <p>This document collects together into one definition all the specs that |
| 65 | + together form the current state of Cascading Style Sheets (CSS) as of |
| 66 | + 2007. The primary audience is CSS implementors, not CSS authors, as this |
| 67 | + definition includes modules by specification stability, not Web browser |
| 68 | + adoption rate. |
| 69 | + |
| 70 | + <h2 class="no-num no-toc" id=status>Status of this document</h2> |
| 71 | + <!--begin-status--> |
| 72 | + |
| 73 | + <p><em>This section describes the status of this document at the time of |
| 74 | + its publication. Other documents may supersede this document. A list of |
| 75 | + current W3C publications and the latest revision of this technical report |
| 76 | + can be found in the <a href="http://www.w3.org/TR/">W3C technical reports |
| 77 | + index at http://www.w3.org/TR/.</a></em> |
| 78 | + |
| 79 | + <p>This document was produced by the <a |
| 80 | + href="http://www.w3.org/Style/CSS/members">CSS Working Group</a> as a <a |
| 81 | + href="http://www.w3.org/Consortium/Process/tr#RecsCR">Candidate |
| 82 | + Recommendation.</a> |
| 83 | + |
| 84 | + <p>A Candidate Recommendation is a document that has been widely reviewed |
| 85 | + and is ready for implementation. W3C encourages everybody to implement |
| 86 | + this specification and return comments to the (<a |
| 87 | + href="http://lists.w3.org/Archives/Public/www-style/">archived</a>) public |
| 88 | + mailing list <a |
| 89 | + href="mailto:www-style@w3.org?Subject=%5Bcss-beijing%5D%20PUT%20SUBJECT%20HERE"> |
| 90 | + www-style@w3.org</a> (see <a |
| 91 | + href="http://www.w3.org/Mail/Request">instructions</a>). When sending |
| 92 | + e-mail, please put the text “css-beijing” in the subject, |
| 93 | + preferably like this: “[<!---->css-beijing<!---->] |
| 94 | + <em>…summary of comment…</em>” |
| 95 | + |
| 96 | + <p>Publication as a Candidate Recommendation does not imply endorsement by |
| 97 | + the W3C Membership. This is a draft document and may be updated, replaced |
| 98 | + or obsoleted by other documents at any time. It is inappropriate to cite |
| 99 | + this document as other than work in progress. |
| 100 | + |
| 101 | + <p>This document was produced by a group operating under the <a |
| 102 | + href="http://www.w3.org/Consortium/Patent-Policy-20040205/">5 February |
| 103 | + 2004 W3C Patent Policy</a>. W3C maintains a <a |
| 104 | + href="http://www.w3.org/2004/01/pp-impl/32061/status" |
| 105 | + rel=disclosure>public list of any patent disclosures</a> made in |
| 106 | + connection with the deliverables of the group; that page also includes |
| 107 | + instructions for disclosing a patent. An individual who has actual |
| 108 | + knowledge of a patent which the individual believes contains <a |
| 109 | + href="http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential"> |
| 110 | + Essential Claim(s)</a> must disclose the information in accordance with <a |
| 111 | + href="http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure"> |
| 112 | + section 6 of the W3C Patent Policy</a>.</p> |
| 113 | + <!--end-status--> |
| 114 | + |
| 115 | + <p>For this specification to exit the Candidate Recommendation stage, all |
| 116 | + of the specifications linked from the <a href="#css">Cascading Style |
| 117 | + Sheets Definition</a> must be in the Proposed Recommendation or |
| 118 | + Recommendation status. The minimum CR period to allow time for comment is |
| 119 | + six weeks. |
| 120 | + |
| 121 | + <h2 class="no-num no-toc" id=contents>Table of contents</h2> |
| 122 | + <!--begin-toc--> |
| 123 | + |
| 124 | + <ul class=toc> |
| 125 | + <li><a href="#intro"><span class=secno>1. </span>Introduction</a> |
| 126 | + <ul class=toc> |
| 127 | + <li><a href="#w3c-process"><span class=secno>1.1. </span>The W3C Process |
| 128 | + and CSS</a> |
| 129 | + </ul> |
| 130 | + |
| 131 | + <li><a href="#css-levels"><span class=secno>2. </span>CSS Levels</a> |
| 132 | + <ul class=toc> |
| 133 | + <li><a href="#css1"><span class=secno>2.1. </span>CSS Level 1</a> |
| 134 | + |
| 135 | + <li><a href="#css2"><span class=secno>2.2. </span>CSS Level 2</a> |
| 136 | + |
| 137 | + <li><a href="#css3"><span class=secno>2.3. </span>CSS Level 3</a> |
| 138 | + </ul> |
| 139 | + |
| 140 | + <li><a href="#css"><span class=secno>3. </span>Cascading Style Sheets |
| 141 | + Definition</a> |
| 142 | + <ul class=toc> |
| 143 | + <li><a href="#partial"><span class=secno>3.1. </span>Partial |
| 144 | + Implementations</a> |
| 145 | + |
| 146 | + <li><a href="#profiles"><span class=secno>3.2. </span>CSS Profiles</a> |
| 147 | + |
| 148 | + <li><a href="#experimental"><span class=secno>3.3. </span>Experimental |
| 149 | + Implementations</a> |
| 150 | + </ul> |
| 151 | + </ul> |
| 152 | + <!--end-toc--> |
| 153 | + |
| 154 | + <h2 id=intro><span class=secno>1. </span>Introduction</h2> |
| 155 | + |
| 156 | + <p>When the first CSS specification was published, all of CSS was contained |
| 157 | + in one document that defined CSS Level 1. CSS Level 2 was defined also by |
| 158 | + a single, multi-chapter document. However for CSS beyond Level 2, the CSS |
| 159 | + Working Group chose to adopt a modular approach, where each module defines |
| 160 | + a part of CSS, rather than to define a single monolithic specification. |
| 161 | + This breaks the specification into more manageable chunks and allows more |
| 162 | + immediate, incremental improvement to CSS. |
| 163 | + |
| 164 | + <p>Since different CSS modules are at different levels of stability, the |
| 165 | + CSS Working Group has chosen to publish this profile to define the current |
| 166 | + scope and state of Cascading Style Sheets as of late 2007. This profile |
| 167 | + includes only specifications that we consider stable <em>and</em> for |
| 168 | + which we have enough implementation experience that we are sure of that |
| 169 | + stability. |
| 170 | + |
| 171 | + <p>Note that this is not intended to be a CSS Desktop Browser Profile: |
| 172 | + inclusion in this profile is based on feature stability only and not on |
| 173 | + expected use or Web browser adoption. This profile defines CSS in its most |
| 174 | + complete form. |
| 175 | + |
| 176 | + <p>Note also that although we don't anticipate significant changes to the |
| 177 | + specifications that form this snapshot, their inclusion does are not mean |
| 178 | + they are frozen. The Working Group will continue to address problems as |
| 179 | + they are found in these specs. Implementers should monitor <a |
| 180 | + href="http://lists.w3.org/Archives/Public/www-style/">www-style</a> and/or |
| 181 | + the <a href="http://www.w3.org/blog/CSS">CSS Working Group Blog</a> for |
| 182 | + any resulting changes, corrections, or clarifications. |
| 183 | + |
| 184 | + <h3 id=w3c-process><span class=secno>1.1. </span>The W3C Process and CSS</h3> |
| 185 | + |
| 186 | + <p><em>This section is non-normative.</em> |
| 187 | + |
| 188 | + <p>In the <a href="http://www.w3.org/2005/10/Process-20051014/">W3C |
| 189 | + Process</a>, a Recommendation-track document passes through five levels of |
| 190 | + stability, summarized below: |
| 191 | + |
| 192 | + <dl style="list-style-type: decimal"> |
| 193 | + <dt>Working Draft (WD) |
| 194 | + |
| 195 | + <dd>Published during the process of drafting the specification, the |
| 196 | + purpose of a public Working Draft is to create a snapshot of the |
| 197 | + specification's current state and to solicit input from the W3C and the |
| 198 | + public. The document is known to be unstable, and is often incomplete. |
| 199 | + |
| 200 | + <dt>Last Call Working Draft (LC or LCWD) |
| 201 | + |
| 202 | + <dd>By publishing a Last Call Working Draft, a working group is expressing |
| 203 | + that they consider the spec to be complete and all issues to be resolved. |
| 204 | + Publishing a Last Call Working Draft announces that this specification |
| 205 | + will move toward Candidate Recommendation unless significant issues are |
| 206 | + brought up. The Last Call period is a last chance for others to submit |
| 207 | + issues before the transition to CR. |
| 208 | + |
| 209 | + <dt>Candidate Recommendation (CR) |
| 210 | + |
| 211 | + <dd>By publishing a Candidate Recommendation, a working group is |
| 212 | + expressing that have resolved all known issues and they believe the spec |
| 213 | + is ready for implementation. |
| 214 | + |
| 215 | + <dt>Proposed Recommendation (PR) |
| 216 | + |
| 217 | + <dd>To exit CR and enter this stage, the spec needs a comprehensive test |
| 218 | + suite and implementation reports proving that every feature in the spec |
| 219 | + is interoperably implemented in at least two shipping implementations. |
| 220 | + Entering the Proposed Recommendation stage signals to the W3C that these |
| 221 | + requirements have been met. Once the W3C officially approves the |
| 222 | + specification, it becomes a Recommendation. |
| 223 | + |
| 224 | + <dt>Recommendation (REC) |
| 225 | + |
| 226 | + <dd>This is the final stage. At this point there should need to be no more |
| 227 | + changes. |
| 228 | + </dl> |
| 229 | + |
| 230 | + <p>In the CSSWG's experience, the recommendation track is not linear. The |
| 231 | + wider review triggered by an LCWD often results in at least another |
| 232 | + working draft, possibly several. More significantly, our experience is |
| 233 | + that many specs enter CR twice, because implementation testing often |
| 234 | + uncovers significant problems in the spec and thus pushes it back to |
| 235 | + working draft. Additionally, fixing even minor problems forces a CR to |
| 236 | + re-enter the Working Draft stage. As a result, although the CSSWG has a |
| 237 | + clear idea of the stability of the CSS specs, it is very difficult for |
| 238 | + someone outside the working group to come to that same understanding based |
| 239 | + on a specification's official status. The CSS Working Group's motivation |
| 240 | + for creating this document is thus to communicate to others our |
| 241 | + understanding of the state of CSS. |
| 242 | + |
| 243 | + <h2 id=css-levels><span class=secno>2. </span>CSS Levels</h2> |
| 244 | + |
| 245 | + <p>Cascading Style Sheets does not have versions in the traditional sense; |
| 246 | + instead it has <dfn id=levels>levels</dfn>. Each level of CSS builds on |
| 247 | + the previous, refining definitions and adding features. The feature set of |
| 248 | + each higher level is a superset of any lower level, and the behavior |
| 249 | + allowed for a given feature in a higher level is a subset of that allowed |
| 250 | + in the lower levels. A user agent conforming to a higher level of CSS is |
| 251 | + thus also conformant to all lower levels. |
| 252 | + |
| 253 | + <h3 id=css1><span class=secno>2.1. </span>CSS Level 1</h3> |
| 254 | + |
| 255 | + <p>The CSS Working Group considers the <a |
| 256 | + href="http://www.w3.org/TR/2008/REC-CSS1-20080411/">CSS1 specification</a> |
| 257 | + to be obsolete. <dfn id=css-level-1>CSS Level 1</dfn> is defined as all |
| 258 | + the features defined in the CSS1 specification (properties, values, |
| 259 | + at-rules, etc), but using the syntax and definitions in the <a |
| 260 | + href="http://www.w3.org/TR/CSS21/">CSS2.1 specification</a>. <a |
| 261 | + href="http://www.w3.org/TR/css-style-attr/">CSS Style Attributes</a> |
| 262 | + defines its inclusion in element-specific style attributes. |
| 263 | + |
| 264 | + <h3 id=css2><span class=secno>2.2. </span>CSS Level 2</h3> |
| 265 | + |
| 266 | + <p>Although the <a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/">CSS2 |
| 267 | + specification</a> is technically a W3C Recommendation, it passed into the |
| 268 | + Recommendation stage before the W3C had defined the Candidate |
| 269 | + Recommendation stage. Over time implementation experience and further |
| 270 | + review has brought to light many problems in the CSS2 specification, so |
| 271 | + instead of expanding an already <a |
| 272 | + href="http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html">unwieldy |
| 273 | + errata list</a>, the CSS Working Group chose to define <cite>CSS Level 2 |
| 274 | + Revision 1</cite> (CSS2.1). |
| 275 | + |
| 276 | + <p>CSS2.1 is now a Candidate Recommendation—effectively though not |
| 277 | + officially the same level of stability as CSS2—and should be |
| 278 | + considered to obsolete the CSS2 Recommendation. In case of any conflict |
| 279 | + between the two specs CSS2.1 contains the definitive definition. Features |
| 280 | + in CSS2 that were dropped from CSS2.1 should be considered to be at the |
| 281 | + Candidate Recommendation stage, but note that many of these have been or |
| 282 | + will be pulled into a CSS Level 3 working draft, in which case that |
| 283 | + specification will, once it reaches CR, obsolete the definitions in CSS2. |
| 284 | + |
| 285 | + <p>The <a href="http://www.w3.org/TR/CSS21/">CSS2.1 specification</a> |
| 286 | + defines <dfn id=css-level-2>CSS Level 2</dfn> and the <a |
| 287 | + href="http://www.w3.org/TR/css-style-attr/">CSS Style Attributes |
| 288 | + specification</a> defines its inclusion in element-specific style |
| 289 | + attributes. |
| 290 | + |
| 291 | + <h3 id=css3><span class=secno>2.3. </span>CSS Level 3</h3> |
| 292 | + |
| 293 | + <p><em>This section is non-normative.</em> |
| 294 | + |
| 295 | + <p>CSS Level 3 builds on CSS Level 2 module by module, using the CSS2.1 |
| 296 | + specification as its core. Each module adds functionality and/or replaces |
| 297 | + part of the CSS2.1 specification. The CSS Working Group intends that the |
| 298 | + new CSS modules will not contradict the CSS2.1 specification: only that |
| 299 | + they will add functionality and refine definitions. As each module is |
| 300 | + completed, it will be plugged in to the existing system of CSS2.1 plus |
| 301 | + previously-completed modules. |
| 302 | + |
| 303 | + <p>From this level on modules are levelled independently: for example |
| 304 | + Selectors Level 4 may well be defined before CSS Line Module Level 3. |
| 305 | + |
| 306 | + <h2 id=css><span class=secno>3. </span>Cascading Style Sheets Definition</h2> |
| 307 | + |
| 308 | + <p>As of 2007, <dfn id=cascading-style-sheets-css>Cascading Style Sheets |
| 309 | + (CSS)</dfn> is defined by the following specifications. Each specification |
| 310 | + in this list builds on and possibly modifies the definitions in the |
| 311 | + previous specifications, with the base formed by <cite>CSS Level 2 |
| 312 | + Revision 1</cite>. (In other words, CSS is defined as <cite>CSS Level 2 |
| 313 | + Revision 1</cite>, modified by <cite>CSS Namespaces</cite>, modified by |
| 314 | + <cite>Selectors Level 3</cite>, etc.) A valid CSS document is one that |
| 315 | + conforms to this definition. |
| 316 | + |
| 317 | + <ol> |
| 318 | + <li><a href="http://www.w3.org/TR/CSS21/">CSS Level 2 Revision 1</a> |
| 319 | + (including errata) |
| 320 | + |
| 321 | + <li><a href="http://www.w3.org/TR/css-style-attr/">CSS Style |
| 322 | + Attributes</a> |
| 323 | + |
| 324 | + <li><a href="http://www.w3.org/TR/css3-namespace/">CSS Namespaces</a> |
| 325 | + |
| 326 | + <li><a href="http://www.w3.org/TR/css3-selectors/">Selectors Level 3</a> |
| 327 | + |
| 328 | + <li><a href="http://www.w3.org/TR/css3-color/">CSS Color Level 3</a> |
| 329 | + </ol> |
| 330 | + |
| 331 | + <h3 id=partial><span class=secno>3.1. </span>Partial Implementations</h3> |
| 332 | + |
| 333 | + <p>So that authors can exploit the forward-compatible parsing rules to |
| 334 | + assign fallback values, CSS layout implementations <strong>must</strong> |
| 335 | + treat as invalid (and <a |
| 336 | + href="http://www.w3.org/TR/CSS21/conform.html#ignore">ignore as |
| 337 | + appropriate</a>) any at-rules, properties, property values, keywords, and |
| 338 | + other syntactic constructs for which they have no usable level of support. |
| 339 | + In particular, user agents <strong>must not</strong> selectively ignore |
| 340 | + unsupported property values and honor supported values in a single |
| 341 | + multi-value property declaration: if any value is considered invalid (as |
| 342 | + unsupported values must be), CSS requires that the entire declaration be |
| 343 | + ignored. |
| 344 | + |
| 345 | + <h3 id=profiles><span class=secno>3.2. </span>CSS Profiles</h3> |
| 346 | + |
| 347 | + <p>Not all implementations will implement all functionality defined in CSS. |
| 348 | + For example, an implementation may choose to implement only the |
| 349 | + functionality required by a CSS Profile. Profiles define a subset of CSS |
| 350 | + considered fundamental for a specific class of CSS implementations. The |
| 351 | + W3C CSS Working Group defines the following CSS profiles: |
| 352 | + |
| 353 | + <ul> |
| 354 | + <li><a href="http://www.w3.org/TR/css-mobile/">CSS Mobile Profile 2.0</a> |
| 355 | + |
| 356 | + <li><a href="http://www.w3.org/TR/css-print/">CSS Print Profile 1.0</a> |
| 357 | + |
| 358 | + <li><a href="http://www.w3.org/TR/css-tv">CSS TV Profile 1.0</a> |
| 359 | + </ul> |
| 360 | + |
| 361 | + <h3 id=experimental><span class=secno>3.3. </span>Experimental |
| 362 | + Implementations</h3> |
| 363 | + |
| 364 | + <p>To avoid clashes with future CSS features, the CSS2.1 specification |
| 365 | + reserves a <a |
| 366 | + href="http://www.w3.org/TR/CSS21/syndata.html#vendor-keywords">prefixed |
| 367 | + syntax</a> for proprietary property and value extensions to CSS. The CSS |
| 368 | + Working Group recommends that experimental implementations of features in |
| 369 | + CSS Working Drafts also use vendor-prefixed property or value names. This |
| 370 | + avoids any incompatibilities with future changes in the draft. Once a |
| 371 | + specification reaches the Candidate Recommendation stage, implementors |
| 372 | + should implement the non-prefixed syntax for any feature they consider to |
| 373 | + be correctly implemented according to spec. |
0 commit comments