当前位置: 首页 > 面试题库 >

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

伏子辰
2023-03-14
问题内容

我注意到,如果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语法



 类似资料:
  • 问题内容: 我已经多次看到,负填充的前景可能会帮助某些页面元素的CSS开发变得越来越好。但是,W3C CSS中没有负填充的规定。这背后的原因是什么?该属性是否有阻碍其使用的阻碍?感谢您的回答。 更新 例如,我看到的情况是,如果您使用的字体的垂直间距为20px,并且希望在字体底部应用虚线边框,例如出现超链接时。在这种情况下,您会发现样式太简陋,因为虚线边框会出现在指定单词下方20px。如果您使用负边

  • 本文向大家介绍为什么Java不支持<<相关面试题,主要包含被问及为什么Java不支持<<时的应答技巧和注意事项,需要的朋友参考一下 Java添加了运算符“ >>>”来执行逻辑右移,但是由于 逻辑和算术左移运算是相同的 ,因此Java中没有“ <<<”运算符。 来自Java的Shifts …

  • 我看不出我做错了什么。如有任何帮助,不胜感激。

  • 我注意到一件奇怪的事情,显然Firefox说它支持HTTPS上的Brotli,但不支持HTTP?Brotli与gzip类似,但效率更高,为什么它会将其限制为HTTPS?在HTTPS选项卡上,我看到: 他被派去了。但在另一个网站上,我没有看到。为什么它不能做Brotli压缩HTTP?

  • 问题内容: Java为什么不包括对无符号整数的支持? 在我看来,这是一个奇怪的遗漏,因为它们允许人们编写不太可能在意外大的输入上产生溢出的代码。 此外,使用无符号整数可以是一种自我证明的形式,因为它们指示无符号int打算保留的值永远不会为负。 最后,在某些情况下,无符号整数对于某些操作(例如除法)可能更有效。 包括这些的不利之处是什么? 问题答案: 在两行之间阅读时,我认为逻辑是这样的: 通常,J

  • macOS Sierra附带PHP5.6,我希望通过从源代码构建将其升级到最新的稳定版本PHP(7.1.4)。我所做的实际上是一个新的安装。首先,我从系统中删除了旧的PHP,然后从PHP下载源代码。net并构建它。除了Apache之外,一切都很好。 顺便说一下,在我构建PHP之前,我必须安装和。PHP 7不只是接受操作系统默认自带的下的相同包。 执行configtest时,我收到以下错误: htt