CSS类选择器,id选择器的语法?

时间:2016-08-13 08:23:49

标签: css css-selectors w3c

Selectors Level 4的最新版本中:

  

类选择器是一个句号(。U + 002E),紧接着是一个标识符。

     

ID选择器由一个“数字符号”(U + 0023,#)组成,后面紧跟ID值,该值必须是CSS identifier

在上面的标识符链接中:

  

在CSS中,标识符(包括选择器中的元素名称,类和ID)只能包含字符[a-zA-Z0-9]和ISO 10646字符U + 00A0及更高,加上连字符( - )和下划线(_); 不能以数字开头,两个连字符,或连字符后跟数字。

然而,在同一规范中,Grammar部分:

  

<class-selector> = '.' <ident-token>

     

<id-selector> = <hash-token>

从上面的令牌链接可以看出,语法图明确指定CSS标识符可以以两个连字符开头,并且ID选择器的语法与哈希的语法相矛盾 - 令牌。

我应该遵循哪些定义?

更新:

我错过了Grammar部分底部的一行:

  

在&lt; id-selector&gt;中,&lt; hash-token&gt;的值必须为identifier

1 个答案:

答案 0 :(得分:1)

hash-token图表必须是错误的,正如您所引用的那样:

  

选择器(...)中的元素名称,类和ID不能以数字,两个连字符或连字符后跟数字开头

非常明确