2

假设我有

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

我想声明:

span.1 { /* rules */ }

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

4

3 回答 3

8

看到这个:哪些字符在 CSS 类名/选择器中是有效的?

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

于 2012-05-27T16:52:25.897 回答
4

您应该始终牢记语义来命名您的类和 ID。一个数字给任何人带来什么意义?它算什么?

为了避免这种情况,根据 W3将 ID 和类命名为整数不是有效的 CSS ,因此大多数浏览器不支持。始终验证您的 HTML 和 CSS。

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

W3C 的 CSS 规范第 4.1.3 节 Characters and case也描述了确切的命名要求:

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

于 2012-05-27T16:52:06.540 回答
3

所以你应该检查CSS 语法

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

编辑: 我建议您阅读这篇文章Valid chars in CSS class names。同事@Triptych给了我们很棒的答案。

于 2012-05-27T16:55:39.890 回答