【发布时间】:2016-10-31 00:55:37
【问题描述】:
在最新版Selectors Level 4:
类选择器以句号 (.U+002E) 形式给出,紧跟在标识符之后。
ID 选择器由一个“数字符号”(U+0023,#)组成,后面紧跟 ID 值,该值必须是 CSS identifier。
在上面的标识符链接中:
在 CSS 中,标识符(包括选择器中的元素名称、类和 ID)只能包含字符 [a-zA-Z0-9] 和 ISO 10646 字符 U+00A0 及更高,加上连字符 (-) 和下划线 (_); 不能以一个数字、两个连字符或一个连字符后跟一个数字开头。
但是,在同一规范中,Grammar 部分:
<class-selector> = '.' @987654324@
<id-selector> = @987654325@
从上面的标记链接中可以看出,语法图明确指定 CSS 标识符可以以 两个连字符 开头,并且 ID 选择器的语法与哈希的语法相矛盾-令牌。
我应该遵循哪些定义?
更新:
我错过了Grammar 部分底部的一行:
在
中, 的值必须是identifier。
【问题讨论】:
-
css-variables 使这更加混乱。请参阅我对this question 的回复。
标签: css css-selectors w3c