即将发布的 CSS 语法模块第 3 级规范草案中似乎有一个重大更改(即向后不兼容):现在可能需要在块中的最后一个声明之后使用分号。
比较旧的措辞(W3C 工作草案 2003 年 8 月 13 日):
4.8. 规则集、声明块和选择器 声明块(在下文中也称为 {} 块)以左大括号 ({) 开始,以匹配的右大括号 (}) 结束。在两者之间必须有零个或多个分号分隔(;) 声明的列表。
使用新的(编辑草稿 2012 年 6 月 14 日):
2. CSS 语法描述 规则以选择器(由选择器规范定义)开始,然后有一个包含一系列声明的 {} 包装块。选择器指定声明将应用于哪些元素。每个声明都有一个属性名称,后跟一个冒号和属性值,并以分号结尾。
(强调我的)。
所以漂亮的简短形式,例如:
em { color: lime }
(目前在 CSS 颜色模块级别 3 建议中作为有效示例给出)将不再验证。
有人可以对整个 3 级草稿集合更了解吗?对于面向未来的样式表,我们真的必须在规范最终确定之前彻底检查现有的 CSS 文件(如果缺少则插入分号)还是我误解了什么?