如何select具有某个类的元素?
我的理解是,使用element.class
应该允许分配给某个类的特定元素接收与该类其余部分不同的“样式”。 这不是一个关于是否应该使用的问题,而是我想了解这个select器是如何工作的。 从互联网上的大量例子来看,我认为这个语法是正确的,不明白为什么这种方法不起作用。
这里是一个例子:
CSS:
h2 { color: red; } .myClass { color: green; } h2.myClass { color: blue; }
HTML:
<h2>This header should be RED to match the h2 element selector</h2> <div class="myClass"> <h1>This header should be GREEN to match the class selector</h1> <h2>This header should be BLUE to match the element.class selector</h2> </div>
应该是这样的:
h2.myClass
使用类myClass
查找h2。 但是你实际上想要在.myClass
为h2应用样式,所以你可以使用后代select器.myClass h2
。
h2 { color: red; } .myClass { color: green; } .myClass h2 { color: blue; }
演示
这个裁判会给你一些关于select器的基本概念,并看看后代select器
h2.myClass
引用所有h2
的class="myClass"
。
.myClass h2
指所有h2
,它们是class="myClass"
元素的子元素(即嵌套元素)。
如果您希望HTML中的h2
显示为蓝色,请将CSS更改为以下内容:
.myClass h2 { color: blue; }
如果你想能够通过一个类而不是它的标签来引用h2
,你应该保持CSS原样,并给h2
一个HTML:
<h2 class="myClass">This header should be BLUE to match the element.class selector</h2>
element.classselect器适用于这样的样式:
<span class="large"> </span> <p class="large"> </p> .large { font-size:150%; font-weight:bold; } p.large { color:blue; }
你的跨度和p将被分配大的字体大小和字体的重量,但蓝色只会被分配给p。
正如其他人所指出的那样,你正在使用的是后代select器。
h2.myClass
只对获得myClass
类直接分配的h2
元素有效。
你想要这样注意它:
.myClass h2
它selectmyClass
中具有标记名h2
所有子项