You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
369 lines
17 KiB
369 lines
17 KiB
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
|
|
"http://www.w3.org/TR/html4/strict.dtd">
|
|
|
|
<html lang=en>
|
|
<head>
|
|
<title>Cascading Style Sheets (CSS) Snapshot 2007</title>
|
|
<!-- <link rel="stylesheet" type="text/css" href="default.css"> -->
|
|
<link href="http://www.w3.org/StyleSheets/TR/W3C-WG-NOTE.css"
|
|
rel=stylesheet type="text/css">
|
|
|
|
<body>
|
|
<div class=head> <!--begin-logo-->
|
|
<p><a href="http://www.w3.org/"><img alt=W3C height=48
|
|
src="http://www.w3.org/Icons/w3c_home" width=72></a> <!--end-logo-->
|
|
|
|
<h1>Cascading Style Sheets (CSS) Snapshot 2007</h1>
|
|
|
|
<h2 class="no-num no-toc" id=longstatus-date>W3C Working Group Note 12 May
|
|
2011</h2>
|
|
|
|
<dl>
|
|
<dt>This version:
|
|
|
|
<dd><a
|
|
href="http://www.w3.org/TR/2011/NOTE-css-beijing-20110512/">http://www.w3.org/TR/2011/NOTE-css-beijing-20110512/</a></dd>
|
|
<!-- <dd><a href="http://dev.w3.org/csswg/css-2007/">http://dev.w3.org/csswg/css-2007/</a></dd> -->
|
|
|
|
<dt>Latest version:
|
|
|
|
<dd><a
|
|
href="http://www.w3.org/TR/css-beijing/">http://www.w3.org/TR/css-beijing/</a>
|
|
|
|
<dt>Previous versions:
|
|
|
|
<dd><a
|
|
href="http://www.w3.org/TR/2010/WD-css-beijing-20100727/">http://www.w3.org/TR/2010/WD-css-beijing-20100727/</a>
|
|
|
|
<dd><a
|
|
href="http://www.w3.org/TR/2001/WD-css3-roadmap-20010523">http://www.w3.org/TR/2001/WD-css3-roadmap-20010523</a>
|
|
|
|
<dt>Editor:
|
|
|
|
<dd><a href="http://fantasai.inkedblade.net/contact">Elika J. Etemad</a>
|
|
</dl>
|
|
<!--begin-copyright-->
|
|
<p class=copyright><a
|
|
href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright"
|
|
rel=license>Copyright</a> © 2011 <a
|
|
href="http://www.w3.org/"><acronym title="World Wide Web
|
|
Consortium">W3C</acronym></a><sup>®</sup> (<a
|
|
href="http://www.csail.mit.edu/"><acronym title="Massachusetts Institute
|
|
of Technology">MIT</acronym></a>, <a href="http://www.ercim.eu/"><acronym
|
|
title="European Research Consortium for Informatics and
|
|
Mathematics">ERCIM</acronym></a>, <a
|
|
href="http://www.keio.ac.jp/">Keio</a>), All Rights Reserved. W3C <a
|
|
href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>,
|
|
<a
|
|
href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a>
|
|
and <a
|
|
href="http://www.w3.org/Consortium/Legal/copyright-documents">document
|
|
use</a> rules apply.</p>
|
|
<!--end-copyright-->
|
|
<hr title="Separator for header">
|
|
</div>
|
|
|
|
<h2 class="no-num no-toc" id=abstract>Abstract</h2>
|
|
|
|
<p>This document collects together into one definition all the specs that
|
|
together form the current state of Cascading Style Sheets (CSS) as of
|
|
2007. The primary audience is CSS implementors, not CSS authors, as this
|
|
definition includes modules by specification stability, not Web browser
|
|
adoption rate.
|
|
|
|
<h2 class="no-num no-toc" id=status>Status of this document</h2>
|
|
<!--begin-status-->
|
|
|
|
<p><em>This section describes the status of this document at the time of
|
|
its publication. Other documents may supersede this document. A list of
|
|
current W3C publications and the latest revision of this technical report
|
|
can be found in the <a href="http://www.w3.org/TR/">W3C technical reports
|
|
index at http://www.w3.org/TR/.</a></em>
|
|
|
|
<p>Publication as a Working Group Note does not imply endorsement by the
|
|
W3C Membership. This is a draft document and may be updated, replaced or
|
|
obsoleted by other documents at any time. It is inappropriate to cite this
|
|
document as other than work in progress.
|
|
|
|
<p>The document was produced by the <a
|
|
href="http://www.w3.org/Style/CSS/members">CSS Working Group</a> (part of
|
|
the <a href="http://www.w3.org/Style/CSS">Style Activity</a>).
|
|
|
|
<p> This document was produced by a group operating under the <a
|
|
href="http://www.w3.org/Consortium/Patent-Policy-20040205/">5 February
|
|
2004 W3C Patent Policy</a>. W3C maintains a <a
|
|
href="http://www.w3.org/2004/01/pp-impl/32061/status"
|
|
rel=disclosure>public list of any patent disclosures</a> made in
|
|
connection with the deliverables of the group; that page also includes
|
|
instructions for disclosing a patent. An individual who has actual
|
|
knowledge of a patent which the individual believes contains <a
|
|
href="http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential">Essential
|
|
Claim(s)</a> must disclose the information in accordance with <a
|
|
href="http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure">section
|
|
6 of the W3C Patent Policy</a>.
|
|
|
|
<p>The (<a
|
|
href="http://lists.w3.org/Archives/Public/www-style/">archived</a>) public
|
|
mailing list <a
|
|
href="mailto:www-style@w3.org?Subject=%5Bcss-beijing%5D%20PUT%20SUBJECT%20HERE">
|
|
www-style@w3.org</a> (see <a
|
|
href="http://www.w3.org/Mail/Request">instructions</a>) is preferred for
|
|
discussion of this document. When sending e-mail, please put the text
|
|
“css-beijing” in the subject, preferably like this:
|
|
“[<!---->css-beijing<!---->] <em>…summary of
|
|
comment…</em>”</p>
|
|
<!--end-status-->
|
|
|
|
<p>This document represents the state of CSS as of 2007. The CSS Working
|
|
Group does not expect any further changes to this document: new snapshots
|
|
will be published at <a
|
|
href="http://www.w3.org/TR/CSS/">http://www.w3.org/TR/CSS/</a> as CSS
|
|
advances.
|
|
|
|
<h2 class="no-num no-toc" id=contents>Table of contents</h2>
|
|
<!--begin-toc-->
|
|
|
|
<ul class=toc>
|
|
<li><a href="#intro"><span class=secno>1. </span>Introduction</a>
|
|
<ul class=toc>
|
|
<li><a href="#w3c-process"><span class=secno>1.1. </span>The W3C Process
|
|
and CSS</a>
|
|
</ul>
|
|
|
|
<li><a href="#css-levels"><span class=secno>2. </span>CSS Levels</a>
|
|
<ul class=toc>
|
|
<li><a href="#css1"><span class=secno>2.1. </span>CSS Level 1</a>
|
|
|
|
<li><a href="#css2"><span class=secno>2.2. </span>CSS Level 2</a>
|
|
|
|
<li><a href="#css3"><span class=secno>2.3. </span>CSS Level 3</a>
|
|
</ul>
|
|
|
|
<li><a href="#css"><span class=secno>3. </span>Cascading Style Sheets
|
|
Definition</a>
|
|
<ul class=toc>
|
|
<li><a href="#partial"><span class=secno>3.1. </span>Partial
|
|
Implementations</a>
|
|
|
|
<li><a href="#profiles"><span class=secno>3.2. </span>CSS Profiles</a>
|
|
|
|
<li><a href="#experimental"><span class=secno>3.3. </span>Experimental
|
|
Implementations</a>
|
|
</ul>
|
|
</ul>
|
|
<!--end-toc-->
|
|
|
|
<h2 id=intro><span class=secno>1. </span>Introduction</h2>
|
|
|
|
<p>When the first CSS specification was published, all of CSS was contained
|
|
in one document that defined CSS Level 1. CSS Level 2 was defined also by
|
|
a single, multi-chapter document. However for CSS beyond Level 2, the CSS
|
|
Working Group chose to adopt a modular approach, where each module defines
|
|
a part of CSS, rather than to define a single monolithic specification.
|
|
This breaks the specification into more manageable chunks and allows more
|
|
immediate, incremental improvement to CSS.
|
|
|
|
<p>Since different CSS modules are at different levels of stability, the
|
|
CSS Working Group has chosen to publish this profile to define the current
|
|
scope and state of Cascading Style Sheets as of late 2007. This profile
|
|
includes only specifications that we consider stable <em>and</em> for
|
|
which we have enough implementation experience that we are sure of that
|
|
stability.
|
|
|
|
<p>Note that this is not intended to be a CSS Desktop Browser Profile:
|
|
inclusion in this profile is based on feature stability only and not on
|
|
expected use or Web browser adoption. This profile defines CSS in its most
|
|
complete form.
|
|
|
|
<p>Note also that although we don't anticipate significant changes to the
|
|
specifications that form this snapshot, their inclusion does are not mean
|
|
they are frozen. The Working Group will continue to address problems as
|
|
they are found in these specs. Implementers should monitor <a
|
|
href="http://lists.w3.org/Archives/Public/www-style/">www-style</a> and/or
|
|
the <a href="http://www.w3.org/blog/CSS">CSS Working Group Blog</a> for
|
|
any resulting changes, corrections, or clarifications.
|
|
|
|
<h3 id=w3c-process><span class=secno>1.1. </span>The W3C Process and CSS</h3>
|
|
|
|
<p><em>This section is non-normative.</em>
|
|
|
|
<p>In the <a href="http://www.w3.org/2005/10/Process-20051014/">W3C
|
|
Process</a>, a Recommendation-track document passes through five levels of
|
|
stability, summarized below:
|
|
|
|
<dl style="list-style-type: decimal">
|
|
<dt>Working Draft (WD)
|
|
|
|
<dd>Published during the process of drafting the specification, the
|
|
purpose of a public Working Draft is to create a snapshot of the
|
|
specification's current state and to solicit input from the W3C and the
|
|
public. The document is known to be unstable, and is often incomplete.
|
|
|
|
<dt>Last Call Working Draft (LC or LCWD)
|
|
|
|
<dd>By publishing a Last Call Working Draft, a working group is expressing
|
|
that they consider the spec to be complete and all issues to be resolved.
|
|
Publishing a Last Call Working Draft announces that this specification
|
|
will move toward Candidate Recommendation unless significant issues are
|
|
brought up. The Last Call period is a last chance for others to submit
|
|
issues before the transition to CR.
|
|
|
|
<dt>Candidate Recommendation (CR)
|
|
|
|
<dd>By publishing a Candidate Recommendation, a working group is
|
|
expressing that have resolved all known issues and they believe the spec
|
|
is ready for implementation.
|
|
|
|
<dt>Proposed Recommendation (PR)
|
|
|
|
<dd>To exit CR and enter this stage, the spec needs a comprehensive test
|
|
suite and implementation reports proving that every feature in the spec
|
|
is interoperably implemented in at least two shipping implementations.
|
|
Entering the Proposed Recommendation stage signals to the W3C that these
|
|
requirements have been met. Once the W3C officially approves the
|
|
specification, it becomes a Recommendation.
|
|
|
|
<dt>Recommendation (REC)
|
|
|
|
<dd>This is the final stage. At this point there should need to be no more
|
|
changes.
|
|
</dl>
|
|
|
|
<p>In the CSSWG's experience, the recommendation track is not linear. The
|
|
wider review triggered by an LCWD often results in at least another
|
|
working draft, possibly several. More significantly, our experience is
|
|
that many specs enter CR twice, because implementation testing often
|
|
uncovers significant problems in the spec and thus pushes it back to
|
|
working draft. Additionally, fixing even minor problems forces a CR to
|
|
re-enter the Working Draft stage. As a result, although the CSSWG has a
|
|
clear idea of the stability of the CSS specs, it is very difficult for
|
|
someone outside the working group to come to that same understanding based
|
|
on a specification's official status. The CSS Working Group's motivation
|
|
for creating this document is thus to communicate to others our
|
|
understanding of the state of CSS.
|
|
|
|
<h2 id=css-levels><span class=secno>2. </span>CSS Levels</h2>
|
|
|
|
<p>Cascading Style Sheets does not have versions in the traditional sense;
|
|
instead it has <dfn id=levels>levels</dfn>. Each level of CSS builds on
|
|
the previous, refining definitions and adding features. The feature set of
|
|
each higher level is a superset of any lower level, and the behavior
|
|
allowed for a given feature in a higher level is a subset of that allowed
|
|
in the lower levels. A user agent conforming to a higher level of CSS is
|
|
thus also conformant to all lower levels.
|
|
|
|
<h3 id=css1><span class=secno>2.1. </span>CSS Level 1</h3>
|
|
|
|
<p>The CSS Working Group considers the <a
|
|
href="http://www.w3.org/TR/2008/REC-CSS1-20080411/">CSS1 specification</a>
|
|
to be obsolete. <dfn id=css-level-1>CSS Level 1</dfn> is defined as all
|
|
the features defined in the CSS1 specification (properties, values,
|
|
at-rules, etc), but using the syntax and definitions in the <a
|
|
href="http://www.w3.org/TR/CSS21/">CSS2.1 specification</a>. <a
|
|
href="http://www.w3.org/TR/css-style-attr/">CSS Style Attributes</a>
|
|
defines its inclusion in element-specific style attributes.
|
|
|
|
<h3 id=css2><span class=secno>2.2. </span>CSS Level 2</h3>
|
|
|
|
<p>Although the <a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/">CSS2
|
|
specification</a> is technically a W3C Recommendation, it passed into the
|
|
Recommendation stage before the W3C had defined the Candidate
|
|
Recommendation stage. Over time implementation experience and further
|
|
review has brought to light many problems in the CSS2 specification, so
|
|
instead of expanding an already <a
|
|
href="http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html">unwieldy
|
|
errata list</a>, the CSS Working Group chose to define <cite>CSS Level 2
|
|
Revision 1</cite> (CSS2.1). In case of any conflict between the two specs
|
|
CSS2.1 contains the definitive definition.
|
|
|
|
<p>Once CSS2.1 became Candidate Recommendation—effectively though not
|
|
officially the same level of stability as CSS2—obsoleted the CSS2
|
|
Recommendation. Features in CSS2 that were dropped from CSS2.1 should be
|
|
considered to be at the Candidate Recommendation stage, but note that many
|
|
of these have been or will be pulled into a CSS Level 3 working draft, in
|
|
which case that specification will, once it reaches CR, obsolete the
|
|
definitions in CSS2.
|
|
|
|
<p>The <a href="http://www.w3.org/TR/CSS21/">CSS2.1 specification</a>
|
|
defines <dfn id=css-level-2>CSS Level 2</dfn> and the <a
|
|
href="http://www.w3.org/TR/css-style-attr/">CSS Style Attributes
|
|
specification</a> defines its inclusion in element-specific style
|
|
attributes.
|
|
|
|
<h3 id=css3><span class=secno>2.3. </span>CSS Level 3</h3>
|
|
|
|
<p><em>This section is non-normative.</em>
|
|
|
|
<p>CSS Level 3 builds on CSS Level 2 module by module, using the CSS2.1
|
|
specification as its core. Each module adds functionality and/or replaces
|
|
part of the CSS2.1 specification. The CSS Working Group intends that the
|
|
new CSS modules will not contradict the CSS2.1 specification: only that
|
|
they will add functionality and refine definitions. As each module is
|
|
completed, it will be plugged in to the existing system of CSS2.1 plus
|
|
previously-completed modules.
|
|
|
|
<p>From this level on modules are levelled independently: for example
|
|
Selectors Level 4 may well be defined before CSS Line Module Level 3.
|
|
|
|
<h2 id=css><span class=secno>3. </span>Cascading Style Sheets Definition</h2>
|
|
|
|
<p>As of 2007, <dfn id=cascading-style-sheets-css>Cascading Style Sheets
|
|
(CSS)</dfn> is defined by the following specifications.
|
|
|
|
<ol>
|
|
<li><a href="http://www.w3.org/TR/CSS21/">CSS Level 2 Revision 1</a>
|
|
(including errata)
|
|
|
|
<li><a href="http://www.w3.org/TR/css-style-attr/">CSS Style
|
|
Attributes</a>
|
|
|
|
<li><a href="http://www.w3.org/TR/css3-namespace/">CSS Namespaces</a>
|
|
|
|
<li><a href="http://www.w3.org/TR/css3-selectors/">Selectors Level 3</a>
|
|
|
|
<li><a href="http://www.w3.org/TR/css3-color/">CSS Color Level 3</a>
|
|
</ol>
|
|
|
|
<h3 id=partial><span class=secno>3.1. </span>Partial Implementations</h3>
|
|
|
|
<p>So that authors can exploit the forward-compatible parsing rules to
|
|
assign fallback values, CSS renderers <strong>must</strong> treat as
|
|
invalid (and <a
|
|
href="http://www.w3.org/TR/CSS21/conform.html#ignore">ignore as
|
|
appropriate</a>) any at-rules, properties, property values, keywords, and
|
|
other syntactic constructs for which they have no usable level of support.
|
|
In particular, user agents <strong>must not</strong> selectively ignore
|
|
unsupported property values and honor supported values in a single
|
|
multi-value property declaration: if any value is considered invalid (as
|
|
unsupported values must be), CSS requires that the entire declaration be
|
|
ignored.
|
|
|
|
<h3 id=profiles><span class=secno>3.2. </span>CSS Profiles</h3>
|
|
|
|
<p>Not all implementations will implement all functionality defined in CSS.
|
|
For example, an implementation may choose to implement only the
|
|
functionality required by a CSS Profile. Profiles define a subset of CSS
|
|
considered fundamental for a specific class of CSS implementations. The
|
|
W3C CSS Working Group defines the following CSS profiles:
|
|
|
|
<ul>
|
|
<li><a href="http://www.w3.org/TR/css-mobile/">CSS Mobile Profile 2.0</a>
|
|
|
|
<li><a href="http://www.w3.org/TR/css-print/">CSS Print Profile 1.0</a>
|
|
|
|
<li><a href="http://www.w3.org/TR/css-tv">CSS TV Profile 1.0</a>
|
|
</ul>
|
|
|
|
<h3 id=experimental><span class=secno>3.3. </span>Experimental
|
|
Implementations</h3>
|
|
|
|
<p>To avoid clashes with future CSS features, the CSS2.1 specification
|
|
reserves a <a
|
|
href="http://www.w3.org/TR/CSS21/syndata.html#vendor-keywords">prefixed
|
|
syntax</a> for proprietary property and value extensions to CSS. The CSS
|
|
Working Group recommends that experimental implementations of features in
|
|
CSS Working Drafts also use vendor-prefixed property and value names. This
|
|
avoids any incompatibilities with future changes in the draft. Once a
|
|
specification reaches the Candidate Recommendation stage, implementors
|
|
should implement the non-prefixed syntax for any feature they can
|
|
demonstrate to be correctly implemented according to spec.
|