Alternating rows
See the difference: we are using odd
and even
on tr
, not td
:
table>tbody>tr:nth-child(odd) >td{
background-color: #eee;
}
table>tbody>tr:nth-child(even)>td{
background-color: #ccc;
}
<table>
<tbody>
<tr><td>. . . . .</td><td>. . . . .</td><td>. . . . .</td></tr>
<tr><td>. . . . .</td><td>. . . . .</td><td>. . . . .</td></tr>
<tr><td>. . . . .</td><td>. . . . .</td><td>. . . . .</td></tr>
<tr><td>. . . . .</td><td>. . . . .</td><td>. . . . .</td></tr>
<tr><td>. . . . .</td><td>. . . . .</td><td>. . . . .</td></tr>
</tbody>
</table>
It seems this first part was answered here:
Alternate table row color using CSS?
Alternating rows and columns:
If you want the "doubled" alternate, extend the concept to all combinations:
table>tbody>tr:nth-child(odd)> td:nth-child(odd) {background-color:#aaa}
table>tbody>tr:nth-child(odd)> td:nth-child(even){background-color:#888}
table>tbody>tr:nth-child(even)>td:nth-child(odd) {background-color:#eee}
table>tbody>tr:nth-child(even)>td:nth-child(even){background-color:#ddd}
<table>
<tbody>
<tr><td>. . . . .</td><td>. . . . .</td><td>. . . . .</td></tr>
<tr><td>. . . . .</td><td>. . . . .</td><td>. . . . .</td></tr>
<tr><td>. . . . .</td><td>. . . . .</td><td>. . . . .</td></tr>
<tr><td>. . . . .</td><td>. . . . .</td><td>. . . . .</td></tr>
<tr><td>. . . . .</td><td>. . . . .</td><td>. . . . .</td></tr>
</tbody>
</table>