2017-04-24 35 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>