如何交替设置每三个html表格行的不同背景颜色

Cod*_*ast 1 html javascript css

假设我有两个名为 table1 和 table2 的 HTML 表。如果我想使 table2 的每三行都有不同的背景,如何使用 CSS 实现这一点?例如,将前 3 行的背景设置为蓝色,然后将另外 3 行设置为绿色,再将另外 3 行设置为蓝色,再将另外 3 行设置为绿色,依此类推。基本上我想要每三行交替使用两种不同的背景颜色。我发现偶数行和奇数行或每第 n 行的 CSS 样式,但不适用于这种情况。我已附上示例表的屏幕截图。我不想像这段代码那样在单独的行中进行硬编码,而是想在 CSS 样式中进行。

table {
  font-family: arial, sans-serif;
  border-collapse: collapse;
  width: 100%;
}

td,
th {
  border: 1px solid #dddddd;
  text-align: left;
  padding: 1px;
}
Run Code Online (Sandbox Code Playgroud)
<table id="table2">
  <tr>
    <th>Company</th>
    <th>Contact</th>
    <th>Country</th>
  </tr>
  <tr bgcolor="#dddddd">
    <td>Alfreds Futterkiste</td>
    <td>Maria Anders</td>
    <td>Germany</td>
  </tr>
  <tr bgcolor="#dddddd">
    <td>Centro comercial Moctezuma</td>
    <td>Francisco Chang</td>
    <td>Mexico</td>
  </tr>
  <tr bgcolor="#dddddd">
    <td>Ernst Handel</td>
    <td>Roland Mendel</td>
    <td>Austria</td>
  </tr>
  <tr>
    <td>Island Trading</td>
    <td>Helen Bennett</td>
    <td>UK</td>
  </tr>
  <tr>
    <td>Laughing Bacchus Winecellars</td>
    <td>Yoshi Tannamuri</td>
    <td>Canada</td>
  </tr>
  <tr>
    <td>Magazzini Alimentari Riuniti</td>
    <td>Giovanni Rovelli</td>
    <td>Italy</td>
  </tr>
  <tr bgcolor="#dddddd">
    <td>Alfreds Futterkiste</td>
    <td>Maria Anders</td>
    <td>Germany</td>
  </tr>
  <tr bgcolor="#dddddd">
    <td>Centro comercial Moctezuma</td>
    <td>Francisco Chang</td>
    <td>Mexico</td>
  </tr>
  <tr bgcolor="#dddddd">
    <td>Ernst Handel</td>
    <td>Roland Mendel</td>
    <td>Austria</td>
  </tr>
  <tr>
    <td>a</td>
    <td>b</td>
    <td>c</td>
  </tr>
  <tr>
    <td>a</td>
    <td>b</td>
    <td>c</td>
  </tr>
  <tr>
    <td>a</td>
    <td>b</td>
    <td>c</td>
  </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏![在此输入图像描述] 1

Sve*_*eta 5

您可以使用“nth-child”来实现此目的。

tr:nth-child(6n+1),
tr:nth-child(6n+2),
tr:nth-child(6n+3) {
  background: #dddddd;
} 
Run Code Online (Sandbox Code Playgroud)

尝试使用下面的代码片段

tr:nth-child(6n+1),
tr:nth-child(6n+2),
tr:nth-child(6n+3) {
  background: #dddddd;
} 
Run Code Online (Sandbox Code Playgroud)
table {
  font-family: arial, sans-serif;
  border-collapse: collapse;
  width: 100%;
}

td, th {
  border: 1px solid #dddddd;
  text-align: left;
  padding: 1px;
}
tr:nth-child(6n+1),
tr:nth-child(6n+2),
tr:nth-child(6n+3) {
  background: #dddddd;
}
	
Run Code Online (Sandbox Code Playgroud)