我想知道是否可以通过堆叠伪类来定位元素。
我试过了:
#advertise .row:first-of-type .one-third:nth-of-type(2) .contentwrap {
font-size:16px;
}
但只有当我们使用[#one或#two]行的ID代替.row:first-of-type / .row:last-of-type
时它才有效这是因为我不能使用多个伪目标来定位元素,或者我只是在做一些愚蠢而没有意识到的事情?
这是HTML:
<div id="advertise">
<h1 class="maintitle"></h1>
<h2 class="maintitle-sub"></h2>
<div class="contentwrap">
<p></p>
</div>
<div class="row" id="one">
<div class="one-third first shadow">
<h1 class="header"></h1>
<div class="contentwrap">
<p></p>
</div>
</div>
<div class="one-third shadow">
<h1 class="header"></h1>
<div class="contentwrap">
<p></p>
</div>
</div>
<div class="one-third shadow">
<h1 class="header"></h1>
<div class="contentwrap">
<p></p>
</div>
</div>
</div>
<div class="row" id="two">
<div class="one-third first shadow">
<h1 class="header"></h1>
<div class="contentwrap">
<p></p>
</div>
</div>
<div class="one-third shadow">
<h1 class="header"></h1>
<div class="contentwrap">
<p></p>
</div>
</div>
<div class="one-third shadow">
<h1 class="header"></h1>
<div class="contentwrap">
<p></p>
</div>
</div>
</div>
</div>
答案 0 :(得分:4)
:first-of-type
选择器选择特定类型元素的第一个实例(例如<div>
)。在这里,您的第一个.row
元素是第二个 <div>
元素,因此您的:first-of-type
选择器不会选择它。
相反,您可以使用:
#advertise .row:nth-of-type(2) .one-third:nth-of-type(2) .contentwrap {
font-size:16px;
}
但由于它已经有id
属性(该元素应该是唯一的),你可以坚持:
#advertise #one .one-third:nth-of-type(2) .contentwrap {
font-size:16px;
}