我们总是说“CSS3”,仿佛时间停滞了一样。我还记得当初 border-radius 属性刚出现时,感觉超级神奇,但那已经是十多年前的事了!
自 2009 年 CSS3 发布以来,CSS 语言本身已经有了长足的进步,各种新功能层出不穷,但我们还在用“CSS3”来指代现代 CSS,这显然已经过时了。
我们看到 CSS 工作组 (CSSWG) 的讨论越来越开放,规范草案和版本存档也 readily available,但新功能的开发、发布和实现过程依然让人摸不着头脑,很多开发者都想知道:下一个 CSS 版本到底什么时候发布? 会包含哪些新功能?
这是一个棘手的问题。规范作者、代码作者和浏览器厂商之间既相互依赖,又各自为政,沟通 gap 很大。结果就是,新功能的实现需要更长时间,开发者也需要更长时间才能用上它们。感觉 CSS3 像是 CSS 语言的最后一次大型“营销”活动,之后就销声匿迹了。
为了解决这个问题,CSS-Next 社区应运而生。他们正在努力解决 CSS 版本命名的问题,并提高人们对 CSS 新功能的认识。
认识 CSS-Next 社区
CSS-Next 是 W3C 的一部分,成员包括 CSSWG 的成员、开发者、设计师、浏览器厂商,以及所有对 Web 充满热情的人。他们希望通过这个平台,共同探讨 CSS 的未来发展方向。
CSS-Next 的核心目标是,让更多人了解过去十年 CSS 的发展变化,并将 CSS3 发布以来出现的新功能进行整合,并命名新的 CSS 版本,以便我们更好地推广和应用这些新功能。
为什么我们需要 CSS-Next?
2020 年,Safari 传播者 Jen Simmons 在 CSSWG 的 GitHub 代码库中,发起了一个关于“定义 CSS4”的 issue,引发了热烈讨论。
很多人,包括 Chris Coyier、Nicole Sullivan 和 PPK 等知名开发者,都支持定义 CSS4。他们认为,这有助于推动技术进步,帮助教育工作者和网站所有者更好地了解 CSS 的最新发展。
那么问题来了,“CSS3”到底是什么?
其实,CSS3 指的是 CSSWG 定义的 3 级规范。但现在,"CSS3" 已经成为了一个泛指,涵盖了从 2009 年至今发布的各种 CSS 功能,早已失去了它原本的含义。
CSS3 的 logo 呢?
很多招聘信息还在要求应聘者掌握 CSS3,这就好比问你“你会不会用电脑”,太宽泛了! 同样,很多 CSS 学习资料也还在使用 CSS3 的 logo,这会让初学者误以为这些资料是最新的。
所以,“CSS3”这个标签已经过时了,我们需要一个新的标签来代表现代 CSS。
“现代 CSS”究竟指的是什么?
自从 CSS3 和 HTML5 发布以来,Web 开发技术已经取得了巨大的进步。例如,以前我们认为容器无法感知其内容的宽度,但现在有了 CSS 容器查询,这一切都成为了可能。
我们不能否认 CSS3 的成功,但我们也需要承认,“现代 CSS”这个词迟早会过时。我们需要一个更准确、更持久的标签来描述 CSS 的发展阶段。
让我们谈谈“CSS 时代”
CSS-Next 社区希望通过为不同时期的 CSS 功能集添加标签,来统一和更新开发者对 CSS 的理解,帮助大家更好地学习和使用 CSS。
他们不希望影响规范定义、创建官方文档或定义浏览器规范工作,而是希望专注于以下目标:
- 研究社区对现代 CSS 的理解。
- 建立对 CSS3 以来 CSS 功能演变的共同理解。
- 将这些功能分组到易于理解的级别(例如 CSS4、CSS5 等等)。
- 教育社区了解现代 CSS 功能。
我们可能会从“CSS5”时代开始
目前,CSS-Next 社区正在讨论如何划分 CSS 时代,以及如何命名新的 CSS 版本。他们倾向于将 2018 年之前的功能称为 CSS4,并将 2019 年至今的功能称为 CSS5。
以下是目前对各个时代的定义:
- CSS3(约 2009-2012 年): 由 CSSWG 定义的 3 级 CSS 规范。(不可变)
- CSS4(约 2013-2018 年): 不属于 CSS3 但已经是 CSS 基本组成部分的重要功能。
- CSS5(约 2019-2024 年): 较新的功能,其采用率正在稳步增长。
- CSS6(约 2025 年+): 计划用于未来 CSS 的早期功能。
我们需要你的参与!
CSS-Next 社区非常希望听到你的声音! 你可以加入他们的组织,参与讨论,或者 simply 分享你的想法。
让我们一起宣传 CSS5,让更多人了解 CSS 的最新发展!
资源
- CSS-Next 组织主页:www.w3.org/community/c…
- CSSWG 草案 Issue #4770:让我们定义 CSS 4:github.com/w3c/csswg-d…
- CSS-Next Issue #92:初始 CSS 级别分类:github.com/CSS-Next/cs…