出于某种原因,如果我尝试使用样式标签中的类或 id 来设置元素样式,则没有任何反应。如果 CSS 选择器只是查找标签而没有类或 id,则它可以正常工作。它在外部样式表中也可以正常工作。我已经在Chrome和Firefox中对此进行了测试,除非这是我从未听说过的规则,否则我不知道发生了什么。像这样简单的事情甚至不起作用。p是蓝色的,但h1.1不会变成红色。
<html>
<head>
<style type="text/css">
h1.1 {color:red;}
p {color:blue;}
</style>
</head>
<body>
<h1 class="1">This is a heading</h1>
<p>This is a paragraph.</p>
</body>
</html>
有人可以解释为什么会发生这种情况吗?如何在样式标签中使用元素的类来设置元素的样式?
类名必须以字母开头。
这是因为您使用1
作为类名 - 并且.1
没有成为有效的CSS选择器,因此必须对其进行转义:http://jsfiddle.net/wJsbj/
另请参阅:
-
CSS 字符转义序列
-
SO:哪些字符在 CSS 类选择器中有效?
检查 CSS 类名约定css name conventions
css 类名应以字母 A-Z 或 a-z 开头。
类或 id 名称应以字母开头。
类的名称不能以数字开头。
试试这个:现场演示
<html>
<head>
<style type="text/css">
h1.a1 {color:red;}
p {color:blue;}
</style>
</head>
<body>
<h1 class="a1">This is a heading</h1>
<p>This is a paragraph.</p>
</body>
</html>
你甚至不需要h1。只需写: .a1 {颜色:红色;} 使用点,您可以定义一个类,通过在 html 中通过在任何标签中包含 class="a1" 来应用于您喜欢的任何元素。这就是课堂的美妙之处...您可以随心所欲地使用它们,提供您正在应用它的 HTML 标记是有意义的。