CSS中是否可以选择其他三个组?

时间:2013-10-01 23:03:59

标签: css css-selectors

是否可以在CSS中选择其他三个组?如果是的话;如何?

因此,在下面的示例中,将样式应用于4-6和10-12 li s。

<ul>
    <li>1</li>
    <li>2</li>
    <li>3</li>
     <li>4</li>
     <li>5</li>
     <li>6</li>
    <li>7</li>
    <li>8</li>
    <li>9</li>
     <li>10</li>
     <li>11</li>
     <li>12</li>
</ul>

我知道[纯] JavaScript和jQuery可以做到这一点,但我正在寻找一个纯CSS解决方案,如果它存在。

2 个答案:

答案 0 :(得分:11)

你正在寻找nth-child:

ul li:nth-child(6n+4),ul li:nth-child(6n+5),ul li:nth-child(6n+6) {
    background:red;
}

http://jsfiddle.net/bhlaird/utEP4/1/

答案 1 :(得分:1)

您可以使用单一选择器,使用:not:nth-child的组合来实现此目的。

ul > li:not(:nth-child(6n+1)):not(:nth-child(6n+2)):not(:nth-child(6n+3))  {
    color:blue;
}

jsFiddle here

但是,考虑到你不能设置其他元素的样式,使用该选择器本身是没用的。

ul > li:not(:nth-child(6n+4)):not(:nth-child(6n+5)):not(:nth-child(6n+6))  {
    color:red;
}

使用两者的组合将允许您设置样式see the demo