css3限于类的types

有什么办法来限制css3的nth-of-type到一个类? 我有不同类别的dynamic数量的section元素指定他们的布局需求。 我想要抓住每一个第三个.module ,但是看起来nth-of-type查找类的元素types,然后计算types。 相反,我想只限于.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; }​ 

不幸的是,没有办法(至less我没有知道)select一个类的nth-of-class类,因为nth-of-class不存在。 您可能需要手动为每个第三个.module添加一个新类。

看起来你真正想要的是css4:nth-​​matchselect器 ,但是它在大多数浏览器中并没有得到真正的支持,所以目前唯一的方法就是使用javascript

 $(".featured.module").filter(function(index, element){ return index % 3 == 2; }).addClass("third"); 

http://jsfiddle.net/w3af16dj/