【发布时间】:2015-07-07 21:34:49
【问题描述】:
我有一个相对模块化的页面,但由于 CMS,其中一些段落块的内容不会填满整个块,所以我只想增加一些块的字体大小。但是,当我尝试以 2 和 3 为目标时,它似乎根本无法识别它。事实上,它只针对第一个,在我的检查器中,它说它是因为它应用了 2 的规则。
示例 HTML
<div class="container">
<div class="item video">
<!-- HTML for video stuffs-->
</div>
<div class="item copy">
<h1>Example Title</h1>
<p>Example words</p>
</div>
<div class="item photo">
<!-- HTML for photo stuffs-->
</div>
<div class="item video">
<!-- HTML for video stuffs-->
</div>
<div class="item copy">
<h1>Example Title</h1>
<p>Example words</p>
</div>
<div class="item photo">
<!-- HTML for photo stuffs-->
</div>
<div class="item video">
<!-- HTML for video stuffs-->
</div>
<div class="item copy">
<h1>Example Title</h1>
<p>Example words</p>
</div>
<div class="item photo">
<!-- HTML for photo stuffs-->
</div>
<div class="item video">
<!-- HTML for video stuffs-->
</div>
<div class="item copy">
<h1>Example Title</h1>
<p>Example words</p>
</div>
<div class="item photo">
<!-- HTML for photo stuffs-->
</div>
</div>
现在我的 LESS 文件如下所示:
.container {
.item {
&.copy {
p {
font-size: 16px;
}
&:nth-of-type(2), &:nth-of-type(3) {
p {
font-size: 17px;
}
}
}
}
}
理论上,第一个和第四个.copy块中的段落文本应该有16px的字体大小,而第二个和第三个块应该是17px。但是,我看到的是它们都是 16px,第一个是 17px,并突出显示这是因为“.container .item.copy:nth-of-type(2) p”的规则是覆盖它。
为什么第 nth-of-type(2) 规则针对其类型的第一个块而不是第二个?如果这就是计算它们的方式,为什么 nth-of-type(3) 规则不针对其类型的第二个块?我对这里发生的事情感到非常困惑......非常感谢任何帮助。
【问题讨论】:
标签: html css css-selectors less