“--”是有效的 CSS3 标识符吗?
Is "--" a valid CSS3 identifier?
根据 CSS 级别 3 specification,为了解析标识符的开头,您:
检查三个代码点是否会开始一个标识符
看第一个代码点:
- 如果第一个字符是
-
,那么我们有一个有效的标识符,如果:
- 第二个代码点是标识符开始代码点(
[a-zA-Z_]
或非 ASCII)。
- 第二个代码点是
-
。
- 第二个和第三个字符构成有效转义。
否则,我们没有有效的标识符开始。在确定我们是否有一个有效的标识符开始后,具有有效 <ident-token>
的唯一要求是我们有 0 个或多个以下任意组合:
- 转义标记
- ASCII 字母
- 位数
_
或 -
- 非 ASCII 字符
由于我们不需要标识符开始标记后的任何字符,这表明 --
是一个有效的标识符,即使从未被任何浏览器或框架支持。然而,即使是官方 CSS 验证 services(由那些设计 CSS 规范的人维护)也不认为这是一个有效的标识符。这仅仅是验证服务中的错误吗?
是的,它有效并且有效。这是您可以定义的最短的自定义 属性(又名 CSS 变量):
body {
--:red;
background:var(--);
}
相关:
--
自定义 属性 标识符 is reserved for future use,但当前浏览器错误地将其视为有效的自定义 属性。
根据 CSS 级别 3 specification,为了解析标识符的开头,您:
检查三个代码点是否会开始一个标识符
看第一个代码点:
- 如果第一个字符是
-
,那么我们有一个有效的标识符,如果:- 第二个代码点是标识符开始代码点(
[a-zA-Z_]
或非 ASCII)。 - 第二个代码点是
-
。 - 第二个和第三个字符构成有效转义。
- 第二个代码点是标识符开始代码点(
否则,我们没有有效的标识符开始。在确定我们是否有一个有效的标识符开始后,具有有效 <ident-token>
的唯一要求是我们有 0 个或多个以下任意组合:
- 转义标记
- ASCII 字母
- 位数
_
或-
- 非 ASCII 字符
由于我们不需要标识符开始标记后的任何字符,这表明 --
是一个有效的标识符,即使从未被任何浏览器或框架支持。然而,即使是官方 CSS 验证 services(由那些设计 CSS 规范的人维护)也不认为这是一个有效的标识符。这仅仅是验证服务中的错误吗?
是的,它有效并且有效。这是您可以定义的最短的自定义 属性(又名 CSS 变量):
body {
--:red;
background:var(--);
}
相关:
--
自定义 属性 标识符 is reserved for future use,但当前浏览器错误地将其视为有效的自定义 属性。