2017-04-24 30 views
3

每个奇数元素,如果我想选择起始于5日现货每4个元素,我会做:选择开始,在第5点

.elem:nth-child(4n+5) { 
    //something 
} 

但如何做到这一点的开始,在第5点每个奇数元素?这句法不起作用:

.elem:nth-child(:oddn+5) { 
    //something 
} 

回答

5

你可以使用.elem:nth-child(2n+5)

li:nth-child(2n+5) { 
 
    color: red 
 
}
<ol> 
 
    <li>item</li> 
 
    <li>item</li> 
 
    <li>item</li> 
 
    <li>item</li> 
 
    <li>item</li> 
 
    <li>item</li> 
 
    <li>item</li> 
 
    <li>item</li> 
 
    <li>item</li> 
 
    <li>item</li> 
 
</ol>

2n将选择所有其他元素和+5作为补偿。因此,与n从零开始,你会得到5,7,9,11,...

2

您可以使用

  1. :nth-child(odd)选择每个奇数元素
  2. :not(:nth-child(-n + 4))不选择前4个元素

div:not(:nth-child(-n + 4)):nth-child(odd) { 
 
    background: red; 
 
}
<div>Div</div><div>Div</div><div>Div</div><div>Div</div><div>Div</div><div>Div</div><div>Div</div><div>Div</div><div>Div</div><div>Div</div>

或者,如果你想从第五元素开始你可以改变这个

div:not(:nth-child(-n + 5)):nth-child(even) { 
 
    background: red; 
 
}
<div>Div</div><div>Div</div><div>Div</div><div>Div</div><div>Div</div><div>Div</div><div>Div</div><div>Div</div><div>Div</div><div>Div</div>