CSS是一种描述结构化的文档如何渲染的语言。
CSS is a language for describing the rendering of structured documents (such as HTML and XML) on screen, on paper, in speech, etc.
1. W3C Process
W3C Process描述了CSS规范的更新过程。
(1)Working Draft (WD)
规范的设计阶段,
CSS Working Group不断修改规范,以取得内部或外部的反馈。
第一个官方的Working Draft称为First Public Working Draft,
表示CSS Working Group内部已经通过并仔细检查过了。
随后,等CSS Working Group处理了所有的issue之后,
会发布Last Call Working Draft,等待具体实现和测试来进行反馈。
(2)Candidate Recommendation (CR)
规范的测试阶段,
值得注意的是,该阶段是使用具体实现来测试规范,而不是测试具体实现,
因此,可能会发现规范的一些问题,从而进行修改。
该阶段至少有两个具体实现,才可以完成,
因此,在这个过程中,CSS Working Group会发布测试用例和实现报告。
(3)Recommendation (REC)
规范的完成阶段,
该阶段CSS Working Group将维护一个errata文档,
偶尔会发布规范的一个更新版本,将这些errata放到规范中。
2. CSS Levels
2.1 历史
在提出CSS Level概念之前,CSS Working Group使用版本号来更新规范,
CSS 1是CSS规范的第一个版本,CSS 2是第二个版本。
虽然从历史上看,CSS 2已经处于Recommendation阶段了,
但是当时人们还没有完善W3C Process,也不包含Candidate Recommendation阶段,
因此,在具体的实现过程中,发现了很多问题。
CSS Working Group认为,
与其附加上冗长的errata列表,不如对CSS规范重新定义,于是发布了CSS 2.1规范。
而那些CSS 2中包含的,但是在CSS 2.1中废弃的特性,
就重新回到Candidate Recommendation阶段。
2.2 Levels
为了保证兼容性,CSS Working Group使用Level来进行覆盖式更新。
将历史中CSS 1规范中所有的内容,称为CSS Level 1,
CSS 2.1规范中的所有内容,称为CSS Level 2。
然后新的CSS Level 3按模块更新CSS Level 2,
每一次发布,只修改或覆盖CSS Level 2的部分内容。
自此以后,不包含在CSS Level 1, 2, 3中的全新特性,将放到CSS Level 1中,
对CSS Level 2的更新,将按模块发布CSS Level 3,
对CSS Level 3的更新,将发布CSS Level 4。(例如:CSS Color Module Level 4)
每一个新的CSS Level建立在以前的Level之上,更新或添加新的特性。
更高级的Level包含了更多特性,但是也包含了更多约束,保证了兼容性。
3. 现状
目前CSS总共由以下这些规范组成。
CSS Level 2
CSS Syntax Level 3
CSS Style Attributes
Media Queries Level 3
CSS Conditional Rules Level 3
CSS Namespaces Module Level 3
Selectors Level 3
CSS Cascading and Inheritance Level 3
CSS Values and Units Level 3
CSS Color Level 3
CSS Backgrounds and Borders Level 3
CSS Image Values and Replaced Content Level 3
CSS Fonts Level 3
CSS Multi-column Layout Level 1
CSS User Interface Module Level 3
CSS Compositing and Blending Level 1
CSS Writing Modes Level 3