"--"是一个合法的CSS3标识符吗?

6
根据 CSS Level 3 specification,解析标识符的开头时,您需要:
检查三个码点是否可以作为标识符的开头。
查看第一个码点:
如果第一个字符是“-”,则以下情况下我们有一个有效的标识符:
第二个码点是标识符起始码点([a-zA-Z_] 或非 ASCII 码点)。
第二个码点是“-”。
第二和第三个字符组成一个有效的转义。
否则,我们没有有效的标识符开头。在确定我们是否有有效的标识符开头后,要获得有效的 <ident-token>,唯一的要求是我们具有以下任意组合的 0 个或多个:
转义标记
ASCII 字母
数字 _- 非 ASCII 字符
由于我们不需要在标识符开始标记后面添加任何字符,这意味着 -- 是一个有效的标识符,即使它从未被任何浏览器或框架支持过。然而,即使是由设计 CSS 规范的人员维护的官方 CSS 验证 services,也不认为这是一个有效的标识符。这只是验证服务中的一个 bug 吗?
2个回答

8

现在它不再有效。


是的,它是有效的并且可以工作。这是您可以定义的最短自定义属性(也称为CSS变量):

body {
 --:red;
 background:var(--);
}

相关文章:CSS变量名称可以以数字开头吗?


那么你是在暗示那些官方的CSS验证服务有漏洞吗?还是说这只是在技术上有效但在实际中无效的某种方式? - Robin Bastiaan
2
@RobinBastiaan,它们并没有错误,但它们很少更新以考虑新的东西。许多有效的事物将在验证器中失败。我展示的是完全有效的,您可以毫无问题地使用它(即使不建议作为良好实践)。 - Temani Afif
我认为将body的背景设置为red几乎总是一个好的实践。 - But those new buttons though..

1

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