前两天在技术群里看到有人问:“各位,HTML6到底什么时候发布?听说新的Web环境里标签都不够用了,是不是该出HTML6了?”群里瞬间热闹起来,有人说是2025年,有人说根本不会有,还有人拿“CSS4”出来反将一军。我看得哭笑不得——这两个问题本质上是同一件事:HTML和CSS早就把“大版本升级”这条路径亲手砍断了,所有人在等一个永远不会来的马车,而身边的火车已经开出很远了。
这篇文章不打算给一个“因为没有所以没有”的敷衍答案。我想把HTML与CSS标准演进的历史脉络、组织逻辑、对开发者日常工作的实际影响一次说清楚。无论你是写业务代码的前端,还是偶尔碰HTML、CSS的后端或全栈,甚至是刚入行的小白,读完后你应该都能明白:为什么今天的新特性不是靠版本号告诉你,而是靠浏览器发布日志告诉你。
1. 版本号先把自己玩砸了:HTML4到XHTML2的弯路
要理解为什么没有HTML6,得先回到HTML还严格使用版本号的年代,看看那条路为什么走不通。
早期的HTML版本迭代其实非常“版本号驱动”。HTML 2.0在1995年以RFC文件形式发布,1997年HTML 3.2上场,紧接着是1997年底的HTML 4.0,再到1999年的HTML 4.01。这段时间里,浏览器厂商和W3C都默认一种工作方式:大家先坐在一起讨论一个完整的新版本,定稿后发布,然后浏览器再花好几年去实现。这种模式在Web还很年轻、功能相对简单的时候勉强能运转。
问题出在XHTML身上。2000年,W3C发布了XHTML 1.0,这是一份把HTML4重新用XML语法包装一遍的规范。它的核心思路很明确:让网页结构像XML那样严格规范,理论上可以跟其他XML工具链打通。如果仅止于此,XHTML 1.0其实还算一次温和的过渡。但W3C紧接着推行的XHTML 2.0,才是真正的分水岭。
XHTML 2.0的问题不是不好,而是太超前了。它计划抛弃HTML4里许多元素,引入一套全新的、更“合理”的结构体系。这在纸面上非常诱人,但有一个致命伤:完全不向后兼容。你可以想象一下,如果今天所有网站都不能在下一个浏览器版本运行,整个行业会陷入什么状态。浏览器厂商最不想看到的就是这种结果,所以没有任何一家愿意认真实现XHTML 2.0。
1.1 浏览器厂商的反抗与WHATWG的成立
2004年前后,W3C内部关于Web应用方向的争论已经到了白热化程度。苹果、Mozilla、Opera等浏览器厂商意识到,继续在W3C等一份完美的大版本规范,Web会错过整个应用化浪潮。于是他们另起炉灶,成立了WHATWG(Web Hypertext Application Technology Working Group),目标非常朴素:不再追求一个大而全、一次性定稿的HTML新版本,而是持续演进一套以实际浏览器反馈为驱动的规范。
WHATWG最初提的方案叫“Web Applications 1.0”,后来跟W3C在2007年合作,把它变成了我们熟悉的HTML5规范的起点。但这里有个关键点:HTML5从一开始就是按照“不断修订的Living Standard”方式来运作的,只是当时为了跟W3C合作,才被包装成一个“版本号”。这也是后来很多误解的根源——很多人都以为HTML5是一份像HTML4.01那样封存在时间线上的规范,但它从来不是。
1.2 HTML5“发布”后,版本号已经失去意义
2014年10月,W3C正式发布HTML5推荐标准。各大新闻标题都在喊“HTML5终于来了”,但实际Web开发者手里的HTML5早在好多年前就已经通过浏览器逐步可用。换句话说,标准的定稿只是一个仪式,浏览器早就实现了。
更值得注意的是HTML5发布之后的操作。W3C在2016年发布了HTML 5.1,2017年发布了HTML 5.2。但到了HTML 5.2之后,W3C正式终止了给HTML发布带编号的快照版本。原因倒也不复杂:每发一个新版本,都要把WHATWG的那个持续演进的规范重新快照一次,文档工作组消耗的时间成本巨大,
