从第5点开始选择每个奇数元素

时间:2017-04-24 16:59:40

标签: css css3 css-selectors

如果我想从第5个位置开始选择每个第4个元素,我会这样做:

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

但是如何从第5点开始为每个奇数元素做到这一点?这种语法不起作用:

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

2 个答案:

答案 0 :(得分: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 ......

答案 1 :(得分:2)

您可以使用

  1. :nth-child(odd)选择每个奇数元素
  2. :not(:nth-child(-n + 4))不选择前4个元素
  3. 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>

    或者,如果你想从第5个元素开始,你可以改为

    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>