使用CSS nth-child按顺序选择不规则图案

zig*_*cko 3 css css-selectors pseudo-class css3

nth-child如果可能的话,我需要使用CSS3按顺序选择以下内容,但无法弄清楚如何...

70%宽度

1, 4, 5, 8, 9, 12, 13, 16, 17, 20
Run Code Online (Sandbox Code Playgroud)

(+ 3 + 1R)

宽度30%

2, 3, 6, 7, 10, 11, 14, 15, 18, 19
Run Code Online (Sandbox Code Playgroud)

(+ 1 + 3R)

我只能看到一种在序列中选择相同增量的方法(即1,5,9,13,17),所以想知道是否有人可以建议根据上述选择一些单一规则,或者我是否需要一些重叠规则根据需要覆盖.

Har*_*rry 6

使用nth-child(4n+0)nth-child(4n+1)组合应选择所需的元素.

将通过上述组合选择1,4,5,8,9 ......,而另一个序列是剩余项目.因此,将30%宽度设置为默认值,并将所选nth-child组合上的覆盖率设置为70%.

div{
    background: green;
}
div:nth-child(4n+0),
div:nth-child(4n+1){
    background: red;
}
Run Code Online (Sandbox Code Playgroud)
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>8</div>
<div>9</div>
<div>10</div>
<div>11</div>
<div>12</div>
<div>13</div>
<div>14</div>
<div>15</div>
<div>16</div>
<div>17</div>
<div>18</div>
<div>19</div>
<div>20</div>
<div></div>
Run Code Online (Sandbox Code Playgroud)

  • 完美,真是救星啊!正是我所追求的。谢谢 :) (2认同)
  • @zigojacko完成哈里的答案,你可以使用`:nth-​​child(4n-2)`和`:nth-​​child(4n-1)`用于其他情况:http://jsfiddle.net/webtiki/j90e4sex/ (2认同)