是否有一个解决方法,使CSS名称以数字开头有效的类?
是否引用名称以数字开头的CSS类不起作用? 例如我发现一个类的背景是:
.000000-8 {background:url(../..http://img.dovov.comcommon/000000-0.8.png);} .8FFFFFF {background:url(../..http://img.dovov.comcommon/FFFFFF-0.8.png);}
在我所拥有的大多数浏览器中都不起作用,而CSS语法显示出来,但是我的问题是有一个解决方法 ,使得名称以数字开头的CSS类有效吗? 。
没有CSS类。 这个问题在逻辑上分为两个问题:你能用HTML中的一个数字开始一个类名吗?(假设它的答案是“是”),你如何在CSS中使用相应的类select器?
各种HTML规范对类名施加了各种限制,但是在浏览器实践中,根据HTML5,除了类名不能包含空格字符外没有任何限制。 所以class=000000-8
是有效的。
通过CSS语法规则,CSS标识符不能与未转义的数字一起存在。 因此,像.000000-8
这样的select器是无效的。 但是这个数字可以通过CSS转义规则逃避 :select器
.\30 00000-8
或者等同地,
.\00003000000-8
是有效的,并匹配class=000000-8
的元素。
不用说,以数字开头的类名是最好的避免,但是如果你必须使用它们(例如,因为一些HTML文档有它们,你不能改变标记),这就是方法。
是的,它在CSS规范中有logging :
在CSS中,标识符(包括元素名称,类和select器中的ID)只能包含字符
[a-zA-Z0-9]
和ISO 10646字符U+00A0
及更高版本,连字符(-
)和下划线_
); 他们不能以数字,两个连字符或连字符后跟数字开头 。 标识符也可以包含转义字符和任何ISO 10646字符作为数字代码(参见下一项)。 例如,标识符“B&W?
”可以写成“B\&W\?
”或“B\26 W\3F
”。