为什么没有 CSS4 ?解释一下 CSS 标准

最后更新:
阅读次数:

原文链接: Why there is no CSS4 - explaining CSS Levels > 原文发表日期: 2016.09.13

笔者吐槽: 学 CSS 也有一段时间了,知道 CSS2、CSS2.1、CSS3,一直以为在未来的某一天会发布 CSS4,但看了这篇文章后,便明白不会有 CSS4 了。这篇文章给出了 CSS 从最初制定到发展至今的一系列标准的变化,而我们正好可以利用他给的这个标准目录来加深 CSS 在自己脑中的印象。


我们有 CSS1CSS2。甚至有 CSS2.1,然后我们又有了 CSS3,不是吗?这篇文章可以使你快速地了解当前的 CSS 版本是什么样子的。

CSS1 和 CSS2 版本是一个庞大并且所有内容集合在一起的标准。选择器(Selectors)、定位(Positioning)、颜色(Color) 等都在这个标准中。

使用庞大并且所有内容集合在一起的标准的缺陷是:当你想要完结制定这个标准时,你必须等到这个标准中的所有成分都制定完成。随着新的 CSS 特性不断出现,CSS 已经变得越来越复杂。如果还是像以前那样画一条计划线,等到所有的 CSS 成分都制定完成,再宣布这个 CSS 版本制定完成,那将变得没有任何意义(黄花菜都凉了)。因此,在 CSS2.1 之后,所有的 CSS2.1 的标准按某种方式已经被划分为一系列模块。新的 CSS 模块包括了以前旧的特性以及新出现的特性,它们慢慢演变成 CSS3。跟我一样的人们会将 CSS3 理解为单一的标准,而实际上 CSS3 是一系列 Level 3 的模块的总称。

临时地将新的 CSS 特性当做 CSS3 并不会影响 CSS 在现在到底发展成什么样子。如果你读过一些有关 CSS3 选择器的资料,实际上你读的是 CSS 选择器 Level 3 规范(CSS Selectors Level 3)。事实上 CSS 选择器只是这个规范的被标记为已完成并作为推荐的一部分内容。现在 CSS 工作小组正在制定 选择器 Level 4(Selectors Level 4),这个新的规范将包括一些被推荐的新的特性以及 Level 3 中的一些内容。这不是 CSS4,这只是 CSS 的一个模块规范的 Level 4。

我们也有一些针对没有出现在 CSS1 或 CSS2 中的新特性的规范,所以这些新的规范将以 Level 1 作为开头,因为它们是全新的特性。列举一些处在 Level 1 的规范:CSS 网格布局(CSS Grid Layout)Flexbox。Flexbox 现在已经是候选标准了,Grid 现在也被投票成为候选标准。因此任何新的被推荐的特性都有可能成为这些规范的下一个 Level 的一部分—Flexbox Level 2 和 CSS Grid Level 2。

如果你想看看各种各样的 CSS 特性现在的状态以及它们现在所处的 Level,可以查阅 CSS 工作小组的当前工作文档(Current Work document)。如果你想要了解一个规范的制定需要经过哪些状态,在进度文档的查看成熟度级别(Maturity Levels)


文章很短,已经翻译完了。但是我还是找了一些相关的链接,方便查阅。

CSS3 模块和标准化进程 > CSS3 Module Status