小编典典

CSS为什么不支持从数字开始的id和class?

css

我注意到,如果id或class从数字开始,则不会应用css属性。例如,以下任何一项均不起作用:

.1ww{
    /* some properties here */
}

.1{
    /* some properties here */
}

#1{
    /* some properties here */
}

#1ww{
    /* some properties here */
}

为什么CSS不支持从数字开始的id或类名?(例如,JavaScript可用于数字ID和类)


阅读 484

收藏
2020-05-16

共1个答案

小编典典

实际上,规范指出,以数字开头的类将被解释为维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语法

2020-05-16