如何在css3选择器中的两列中交替颜色?

ome*_*ega 4 html css css-selectors css3

如果我有这个代码

#list>div {
  font-size: 18px;
  float: left;
  margin: 0 10px 10px 0;
  width: 150px;
}

#list>div:nth-child(2n+1) {
  clear: left;
}

#list>div:nth-child(odd) {
  background-color: red;
}

#list>div:nth-child(even) {
  background-color: blue;
}
Run Code Online (Sandbox Code Playgroud)
<div id="list">
  <div class="list-item">A</div>
  <div class="list-item">B</div>
  <div class="list-item">C</div>
  <div class="list-item">D</div>
  <div class="list-item">E</div>
  <div class="list-item">F</div>
  <div class="list-item">G</div>
  <div class="list-item">H</div>
  <div class="list-item">I</div>
  <div class="list-item">J</div>
</div>
Run Code Online (Sandbox Code Playgroud)

这显示为

A B
C D
E F 
G H 
I J
Run Code Online (Sandbox Code Playgroud)

哪个好,但是,我想要背景颜色

red blue
blue red
red blue
blue red
red blue
Run Code Online (Sandbox Code Playgroud)

但是,上面的代码使每列的颜色相同.有没有一种纯粹的css3方法可以做到这一点?

Mar*_*zek 6

#list>div {
  font-size: 18px;
  float: left;
  margin: 0 10px 10px 0;
  width: 150px;
}

#list>div:nth-child(2n+1) {
  clear: left;
}

#list>div:nth-child(4n+1), #list>div:nth-child(4n) {
  background-color: red;
}

#list>div:nth-child(4n+2), #list>div:nth-child(4n+3) {
  background-color: blue;
}
Run Code Online (Sandbox Code Playgroud)
<div id="list">
  <div class="list-item">A</div>
  <div class="list-item">B</div>
  <div class="list-item">C</div>
  <div class="list-item">D</div>
  <div class="list-item">E</div>
  <div class="list-item">F</div>
  <div class="list-item">G</div>
  <div class="list-item">H</div>
  <div class="list-item">I</div>
  <div class="list-item">J</div>
</div>
Run Code Online (Sandbox Code Playgroud)