是否引用了名称以数字开头的 CSS 类不起作用的任何地方?
例如,我发现一个类的背景如下:
.000000-8 {background:url(../../images/common/000000-0.8.png);}
.8FFFFFF {background:url(../../images/common/FFFFFF-0.8.png);}
在我拥有的大多数浏览器和 CSS grammar 中不起作用表明了这一点,但我的问题是有一个解决方法可以使名称以数字开头的 CSS 类有效吗? .
没有 CSS 类。这个问题在逻辑上分为两个问题:你能否在 HTML 中以数字开头一个类名,以及(假设答案是"is")如果可以,你如何在 CSS 中使用相应的类选择器?
各种HTML规范对类名都有各种限制,但在浏览器实践中,根据HTML5,没有任何限制,只是类名不能包含空白字符。所以 class=000000-8
是有效的。
根据 CSS 语法规则,CSS 标识符不能包含未转义 数字。因此,像 .000000-8
这样的选择器是无效的。但是数字可以通过CSS escaping rules转义。 : 选择器
.\30 00000-8
或者,等价地,
.\00003000000-8
有效并与 class=000000-8
的元素匹配。
不用说,最好避免以数字开头的类名,但如果您必须使用它们(例如,因为某些 HTML 文档有它们并且您不能更改标记),就是这种方式。