有没有办法将css3的nth-of-type
限制为一个类?我有一些动态数量的section
元素,不同的类指定了它们的布局需求。我想抓住每个.module
,但似乎nth-of-type
查找类元素类型然后计算类型。相反,我想将其限制为.module
s。
谢谢!
JSFiddle演示:http://jsfiddle.net/danielredwood/e2BAq/1/
HTML:
<section class="featured video">
<h1>VIDEO</h1>
</section>
<section class="featured module">
<h1>NOT A VIDEO</h1>
</section>
<section class="featured module">
<h1>NOT A VIDEO</h1>
</section>
<section class="featured module">
<h1>NOT A VIDEO (3)</h1>
</section>
<section class="featured module">
<h1>NOT A VIDEO</h1>
</section>
<section class="featured module">
<h1>NOT A VIDEO</h1>
</section>
<section class="featured module">
<h1>NOT A VIDEO (6)</h1>
</section>
CSS:
.featured {
width:31%;
margin:0 0 20px 0;
padding:0 3.5% 2em 0;
float:left;
background:#ccc;
}
.featured.module:nth-of-type(3n+3) {
padding-right:0;
background:red;
}
.featured.video {
width:auto;
padding:0 0 2em 0;
float:none;
}
答案 0 :(得分:65)
不幸的是,由于nth-of-type
不存在,所以没有办法(至少我不知道)选择一个类的nth-of-class
。您可能需要手动为每三分之一.module
添加一个新类。
答案 1 :(得分:35)
看起来你真正想要的是css4 :nth-match selector,但它在大多数浏览器中并不支持,所以目前唯一的方法就是使用javascript
$(".featured.module").filter(function(index, element){
return index % 3 == 2;
}).addClass("third");