当孩子之间的'另一个'元素时,css nth-child(3n + 1)不工作

时间:2014-02-20 10:56:53

标签: html css css-selectors

我的HTML代码:

<div class="span4">1</div>
<div class="span4">2</div>
<div class="span4">3</div>
<div class="span12">banner</div>
<div class="span4">4</div>
<div class="span4">5</div>
<div class="span4">6</div>
<div class="span4">7</div>
<div class="span4">8</div>
<div class="span4">9</div>

的CSS:

.span4:nth-child(3n+1){
    color: red;
}

结果必须有1,4,7红色。但事实并非如此。 示例:http://jsfiddle.net/473UR/ 如何解决这个问题?

3 个答案:

答案 0 :(得分:2)

.nth-child适用于连续元素。如果其间有任何其他元素,则从第一个开始计算。

<div class="span4">1</div>  <-- this is first-child -->
<div class="span4">2</div>
<div class="span4">3</div>
<div class="span12">banner</div>
<div class="span4">4</div>   <-- sequence reset.
<div class="span4">5</div>
<div class="span4">6</div>   
<div class="span4">7</div>
<div class="span4">8</div>
<div class="span4">9</div>

答案 1 :(得分:0)

那是因为.span12也算作孩子。如果你删除它,它将工作

答案 2 :(得分:0)

你需要移动你的横幅div,它会起作用

EXAMPLE

<div class="span4">1</div>
<div class="span4">2</div>
<div class="span4">3</div>
<div class="span4">4</div>
<div class="span4">5</div>
<div class="span4">6</div>
<div class="span4">7</div>
<div class="span4">8</div>
<div class="span4">9</div>
<div class="span12">banner</div>