是否可以在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解决方案,如果它存在。
答案 0 :(得分:11)
你正在寻找nth-child:
ul li:nth-child(6n+4),ul li:nth-child(6n+5),ul li:nth-child(6n+6) {
background:red;
}
答案 1 :(得分:1)
您可以使用单一选择器,使用:not
和:nth-child
的组合来实现此目的。
ul > li:not(:nth-child(6n+1)):not(:nth-child(6n+2)):not(:nth-child(6n+3)) {
color:blue;
}
但是,考虑到你不能设置其他元素的样式,使用该选择器本身是没用的。
ul > li:not(:nth-child(6n+4)):not(:nth-child(6n+5)):not(:nth-child(6n+6)) {
color:red;
}
使用两者的组合将允许您设置样式see the demo。