每两个表行的nth-child

bri*_*hea 29 css css-selectors css3

我需要让我的桌子的每两行变灰,如果可能的话我宁愿使用nth-child.

我和Chris Coyier的n-child测试员搞砸了但仍然无法得到它.

我需要以下公式:

1,2 - grey
3,4 - white
5,6 - grey
7,8 - white
9,10 - grey
Run Code Online (Sandbox Code Playgroud)

等等.我宁愿不在html中放一个类,因为我确信这将成为一些人的建议.如果有办法用n-child来解决这个问题,那就是我正在寻找的东西.

Eri*_*ric 90

意识到你正在做4组,然后你可以看到你可以拥有每个第4个元素和每个第4个元素减去一个是白色,然后每个第4个元素减去2个,或者每个第4个元素减去3个是灰色.

所以,你会使用4n4n-1,然后4n-24n-3:

div:nth-child(4n), div:nth-child(4n-1) {
    background: red;
}
div:nth-child(4n-2), div:nth-child(4n-3) {
    background: blue;
}
Run Code Online (Sandbox Code Playgroud)

那段代码对你的情况并不准确,我把它写成了一个jsFiddle概念验证.

NB免责声明:请记住,nth-child这在IE8中不起作用.当然是典型的问题.

  • 我认为提问的重点是要学习,而不是要获得可以复制/粘贴的内容.如果您无法翻译使用与您的确切标记不同的标记的解决方案,您希望如何成长为前端设计师? (9认同)
  • @BoltClock可爱......但是`div`的标记比`table`s和'blue` /`red`更容易看到.;) (2认同)
  • @samseabom如果你想让你的代码准备好生产,你可以随时雇用Eric ... (2认同)