-
Notifications
You must be signed in to change notification settings - Fork 707
/
Copy pathOverview.src.html
255 lines (212 loc) · 12.1 KB
/
Overview.src.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
<!DOCTYPE html public '-//W3C//DTD HTML 4.01//EN'
'http://www.w3.org/TR/html4/strict.dtd'>
<html lang="en">
<head>
<meta charset=utf8>
<title>Cascading Style Sheets (CSS) Snapshot 2007</title>
<!-- <link rel="stylesheet" type="text/css" href="default.css"> -->
<link rel="stylesheet" type="text/css" href="https://www.w3.org/StyleSheets/TR/W3C-ED.css">
</head>
<body>
<div class="head">
<!--logo-->
<h1>Cascading Style Sheets (CSS) Snapshot 2007</h1>
<h2 class="no-num no-toc">[LONGSTATUS] [DATE]</h2>
<dl>
<dt>This version:</dt>
<!-- <dd><a href="https://www.w3.org/TR/[YEAR]/NOTE-css-beijing-[CDATE]/">[VERSION]</a></dd> -->
<dd><a href="https://drafts.csswg.org/css-2007/">https://drafts.csswg.org/css-2007/</a></dd>
<dt>Latest version:</dt>
<dd><a href="https://www.w3.org/TR/css-beijing/">https://www.w3.org/TR/css-beijing/</a></dd>
<dt>Previous versions:</dt>
<dd><a href="https://www.w3.org/TR/2010/WD-css-beijing-20100727/">https://www.w3.org/TR/2010/WD-css-beijing-20100727/</a></dd>
<dd><a href="https://www.w3.org/TR/2001/WD-css3-roadmap-20010523/">https://www.w3.org/TR/2001/WD-css3-roadmap-20010523/</a></dd>
<dt>Editor:</dt>
<dd><a href="http://fantasai.inkedblade.net/contact">Elika J. Etemad</a></dd>
</dl>
<!--begin-copyright-->
<p>[Here will be included the file "../copyright.inc"]</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.</p>
<h2 class="no-num no-toc" id=status>Status of this document</h2>
<!--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="https://www.w3.org/TR/CSS/">https://www.w3.org/TR/CSS/</a>
as CSS advances.
<nav id="toc">
<h2 class="no-num no-toc" id="contents">Table of contents</h2>
<!--toc-->
</nav>
<h2 id="intro">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>
<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>
<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>
<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.</p>
<h3 id="w3c-process">The W3C Process and CSS</h3>
<p><em>This section is non-normative.</em></p>
<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:</p>
<dl style="list-style-type: decimal">
<dt>Working Draft (WD)</dt>
<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.</dd>
<dt>Last Call Working Draft (LC or LCWD)</dt>
<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.</dd>
<dt>Candidate Recommendation (CR)</dt>
<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.</dd>
<dt>Proposed Recommendation (PR)</dt>
<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)</dt>
<dd>This is the final stage. At this point there should need to
be no more changes.</dd>
</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.</p>
<h2 id="css-levels">CSS Levels</h2>
<p>Cascading Style Sheets does not have versions in the traditional sense;
instead it has <dfn>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">CSS Level 1</h3>
<p>The CSS Working Group considers the
<a href="https://www.w3.org/TR/2008/REC-CSS1-20080411/">CSS1 specification</a> to be
obsolete. <dfn>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="https://www.w3.org/TR/CSS21/">CSS2.1 specification</a>.
<a href="https://www.w3.org/TR/css-style-attr/">CSS Style Attributes</a>
defines its inclusion in element-specific style attributes.</p>
<h3 id="css2">CSS Level 2</h3>
<p>Although the <a href="https://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>
<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>
<p>The <a href="https://www.w3.org/TR/CSS21/">CSS2.1 specification</a> defines
<dfn>CSS Level 2</dfn> and the <a href="https://www.w3.org/TR/css-style-attr/">CSS
Style Attributes specification</a> defines its inclusion in
element-specific style attributes. </p>
<h3 id="css3">CSS Level 3</h3>
<p><em>This section is non-normative.</em></p>
<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>
<p>From this level on modules are levelled independently: for example
Selectors Level 4 may well be defined before CSS Line Module Level 3.</p>
<h2 id="css">Cascading Style Sheets Definition</h2>
<p>As of 2007,
<dfn>Cascading Style Sheets (CSS)</dfn> is defined by the following
specifications.
<ol>
<li><a href="https://www.w3.org/TR/CSS21/">CSS Level 2 Revision 1</a>
(including errata)
<li><a href="https://www.w3.org/TR/css-style-attr/">CSS Style Attributes</a>
<li><a href="https://www.w3.org/TR/css3-namespace/">CSS Namespaces</a>
<li><a href="https://www.w3.org/TR/css3-selectors/">Selectors Level 3</a>
<li><a href="https://www.w3.org/TR/css3-color/">CSS Color Level 3</a>
</ol>
<h3 id="partial">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="https://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.</p>
<h3 id="profiles">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:</p>
<ul>
<li><a href="https://www.w3.org/TR/css-mobile/">CSS Mobile Profile 2.0</a>
<li><a href="https://www.w3.org/TR/css-print/">CSS Print Profile 1.0</a>
<li><a href="https://www.w3.org/TR/css-tv">CSS TV Profile 1.0</a>
</ul>
<h3 id="experimental">Experimental Implementations</h3>
<p>To avoid clashes with future CSS features, the CSS2.1 specification
reserves a <a href="https://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.</p>