当类名只是一个整数时,如何编写CSS选择器?

当类名只是一个整数时,如何编写CSS选择器?,css,css-selectors,Css,Css Selectors,假设我有 <span class="1">hello</span> 这似乎不起作用(即CSS规则没有被应用)。有没有办法让它起作用?我试着在CSS选择器中引用“1”,但事实并非如此。您应该始终在命名类和ID时考虑语义。数字对任何人都有什么意义?这算什么 为了避免这种情况,将ID和类命名为整数是不可取的,因此大多数浏览器都不支持这种做法。始终验证HTML和CSS 解决方案是简单地给类一个更有意义的名称。你在数什么?是博客上的评论吗?如果是这样,您可以将类comment添加

假设我有

<span class="1">hello</span>

这似乎不起作用(即CSS规则没有被应用)。有没有办法让它起作用?我试着在CSS选择器中引用“1”,但事实并非如此。

您应该始终在命名类和ID时考虑语义。数字对任何人都有什么意义?这算什么

为了避免这种情况,将ID和类命名为整数是不可取的,因此大多数浏览器都不支持这种做法。始终验证HTML和CSS

解决方案是简单地给类一个更有意义的名称。你在数什么?是博客上的评论吗?如果是这样,您可以将类
comment
添加到每个类中。如果您确实需要为每个类指定唯一的名称,那么可以使用
comment5
,但作为一个类,这似乎没有多大意义,在这种情况下,您应该使用id

确切的命名要求也在以下章节中描述:

在CSS中,标识符(包括选择器中的元素名称、类和ID)只能包含字符[a-zA-Z0-9]和ISO 10646字符U+00A0及更高,加上连字符(-)和下划线(33;)它们不能以数字、两个连字符或连字符后跟数字开头。标识符还可以包含转义字符和任何ISO10646字符作为数字代码(请参阅下一项)。例如,标识符“B&W?”可以写为“B\&W\?”或“B\26 W\3F”

见此:

(类)名称必须以下划线(33;)、破折号(-)或字母(a–z)开头

所以你应该检查一下

因此名称必须以下划线、字母(a–z)开头,后跟任意数量的破折号、下划线、字母或数字。

编辑: 我建议你阅读这篇文章。
同事@Triptych给了我们一个很棒的答案。

1
不是有效的CSS类名。看不出是真的。标识符不能以破折号开头,然后后跟破折号,例如,
--foo
不是有效的类名。我正在计算字符的类别,其中每个类别的样式都不同。生成HTML的程序只是为遇到的每个新类别增加一个计数器。这就是为什么我最终得到了由整数组成的类名(我现在明白了,在前面加上“u”或类似的答案。)ID不是一个真正的选项,因为每个类别中都有多个字符。加上前缀
\uu
不会使它更具语义。为什么不按类别来命名呢?不仅仅是代表类别的数字。或者至少在它们前面加上
类别
span.1 { /* rules */ }