我注意到,如果id或class从数字开始,则不会应用css属性。例如,以下任何一项均不起作用:
.1ww{ /* some properties here */ }
和
.1{ /* some properties here */ }
#1{ /* some properties here */ }
#1ww{ /* some properties here */ }
为什么CSS不支持从数字开始的id或类名?(例如,JavaScript可用于数字ID和类)
实际上,规范指出,以数字开头的类将被解释为维1 :
CSS2解析一个数字,紧随其后的是标识符,作为DIMENSION令牌(即未知单位),CSS1则将其解析为数字和标识符。这意味着在CSS1中,声明’font:10pt / 1.2serif’是正确的,’font:10pt / 12pt serif’也是如此;在CSS2中,“ serif”之前必须有一个空格。(某些UA接受第一个示例,但第二个不接受。)
而且由于我们不知道将来会引入哪些尺寸,因此CSS中不存在的尺寸将被解析为未知尺寸:
在CSS1中,类名可以以数字(“ .55ft”)开头,除非它是尺寸(“ .55in”)。在CSS2中,此类被解析为未知维( 以允许将来添加新单位 )。为了使“ .55ft”成为有效的类,CSS2要求对第一个数字进行转义(“。\ 35 5ft”)
您可以通过转义第一位数字来使用以数字开头的类,该数字根据W3C CSS验证器有效。检查出plunkr。
1附录G. CSS 2.1语法