有没有办法选择匹配(或不匹配)任意选择器的每个第n个孩子?例如,我想选择每个奇数表行,但是在行的子集中:
table.myClass tr.row:nth-child(odd) {
...
}
Run Code Online (Sandbox Code Playgroud)
<table class="myClass">
<tr>
<td>Row
<tr class="row"> <!-- I want this -->
<td>Row
<tr class="row">
<td>Row
<tr class="row"> <!-- And this -->
<td>Row
</table>
Run Code Online (Sandbox Code Playgroud)
但:nth-child()似乎只计算所有tr元素,无论它们是否属于"行"类,所以我最终得到一个偶数 "行"元素而不是我正在寻找的两个元素.同样的事情发生在:nth-of-type().
有人可以解释原因吗?
有没有办法将css3限制nth-of-type为一个类?我有一些动态数量的section元素,不同的类指定了它们的布局需求.我想抓住每一个第三.module,但它似乎nth-of-type查找类元素类型,然后计算类型.相反,我想将它限制为只有.modules.
谢谢!
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>
Run Code Online (Sandbox Code Playgroud)
CSS:
.featured {
width:31%;
margin:0 0 20px 0;
padding:0 3.5% 2em 0;
float:left;
background:#ccc; …Run Code Online (Sandbox Code Playgroud) 我有以下代码:
<ul class="list">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
我用灰色条纹设计了这个列表:
.list li:nth-child(2n) {
background-color: #ccc;
}
Run Code Online (Sandbox Code Playgroud)
效果很好,但后来我隐藏了一些li元素和条纹的顺序.小提琴
我尝试用以下方法更新选择器:not():
.list li:not(.hidden):nth-child(2n) {
background-color: #ccc;
}
Run Code Online (Sandbox Code Playgroud)
但这没用.
任何人都可以建议如何订购伪类以保持条纹顺序?