css - 是否有解决方法可以使名称以数字开头的 CSS 类有效?

标签 css css-selectors

<分区>

是否引用了名称以数字开头的 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 文档有它们并且您不能更改标记),就是这种方式。

关于css - 是否有解决方法可以使名称以数字开头的 CSS 类有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21227702/

相关文章:

jquery - 如何用jquery创建一个自动变化的背景

CSS nth-child - 一次获得第一个、第二个、第四个和第五个 child ?

css - 选择范围外的 child

css - 为什么card会从parent col溢出

css - ionic 图标周围的阴影/轮廓

html - 基于浏览器大小的图像比例不起作用

html - 如何垂直显示 "tagsinput"?

CSS 选择器,下一个标签

jquery - 按名称选择 div 中的输入

python - 按类名查找命令不起作用