CSS3是一个官方标准吗?

29

我想知道CSS3是W3C的正式标准还是像“CR”(候选推荐)这样的东西?

2个回答

60
CSS3被描述为CSS样式语言的下一代(就像HTML5是HTML的下一代),它建立在CSS2.1规范的基础上。它仍在积极开发中,并尚未完全定稿。事实上,CSS3可能永远不会达到“最终”状态的意义,因为新模块正在不断添加。这是因为从第3级开始,CSS本身已经模块化,以便每个模块可以独立于其余部分开发(尽管相关模块可能同时开发)。这不仅允许现有模块独立分级,而且还允许随时创建新模块,无论是定义全新的功能集,还是扩展现有的CSS2.1功能。
基于CSS2.1规范现有部分的模块从第3级开始,而完全新于CSS的模块则从第1级开始。尽管“级别4”似乎暗示着即将推出CSS4,就像“级别3”经常用于指代CSS3一样,但CSSWG成员之一发布了一篇博客文章谈到“CSS4”一词,指出这并不是事实。

没有CSS4这个东西

从来没有过CSS4,将来也不会有CSS4,CSS4不是一种存在的东西。

"CSS3" 这个术语指的是CSS 2.1发布之后的所有内容。
CSS作为一门语言已经到了最新版本,因此将完全放弃版本号,以后所有的内容都将统称为 "CSS"。

在努力完成CSS 2.1时,我们(CSSWG)意识到大而全的 "版本" 没有任何好处。它们难以维护,开发速度缓慢。

相反,我们决定将CSS语言分成一堆独立的模块。每个模块可以独立升级,并且只包含一小部分功能,因此一个大型的功能集合不会被单个顽固的功能拖慢。

我们的一些模块从CSS2.1扩展开始就是第3级。如果它们是一些新的东西(例如Flexbox),则从第1级开始。然而,一个模块的级别与它所在的CSS版本没有任何关系。无论它们的级别如何,它们都是CSS3(或只是CSS)。

由于每个模块都是独立开发的,截至2012年,只有某些模块已达到或超过了候选推荐(CR)阶段。其中值得注意的包括:
- 媒体查询 - 命名空间 - 颜色 - 选择器 - 背景和边框 - 图像值和替换内容 - 多列布局 - 值和单位 大多数其他模块仍处于草案阶段,可能需要几个月或几年才能达到CR、PR或REC。正如提到的那样,还会不断添加更多内容,并且这些内容也将以自己的步伐进行平衡。
有关CSS开发状态的信息,请参见以下页面:
  • CSS当前状态 - W3C。列在标准下的规范已经作为W3C建议标准化。这由W3C维护;然而,规范本身由CSS工作组维护,他们直接参与CSS的开发。

  • CSS当前工作。这里有一个规范表,让您一眼看到每个模块在开发中的成熟度。此页面由CSS工作组维护。

  • W3C CSS WG注意事项。此页面描述了CSS标准的开发过程。它提到了“级别”这个术语,用于描述CSS标准的每个修订版本,而不是“版本”这个术语:

    2. CSS级别

    级联样式表没有传统意义上的版本;相反,它有级别。每个CSS级别都基于先前的级别,精确定义并添加功能。每个更高级别的功能集是任何较低级别的超集,并且在更高级别中允许给定功能的行为是在较低级别中允许的子集。符合更高级别CSS的用户代理也符合所有较低级别。

此外,由于CSS的模块化以及某些模块的完成和标准化,一些模块已经开始了第四级的工作,例如背景和边框选择器。然而,由于这些模块刚刚开始,不要期望供应商在至少一年内开始支持这些模块。正如上面提到的,尽管这些模块正在向第四级发展,但它们并没有被正式定义或版本化为“CSS4”。

8

不,CSS3是W3C开发CSS的集体名称。 W3C实际上并不是一个标准机构;它发布建议,并且只有少数CSS3活动领域迄今已经形成了建议。大多数领域都产生了工作草案,其中包含以下样板文本:“这是一份草案文件,可能随时更新、替换或废弃。将其引用为除正在进行的工作外的其他内容是不恰当的。”


不太确定为什么这个帖子会被踩——而且是两次。它准确地描述了W3C在CSS开发中的角色。 - BoltClock

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接