我有下表,第一行包含2个子行,第二行包含3个子行。
如果使用此CSS样式,则斑马色(,即两个连续行上的替代色)有问题,第二个主单元格应为白色,而不是灰色:
tr:nth-child(odd) {background-color: #eee;}
tr:nth-child(even) {background-color: #fff;}
那么,有没有一种方法可以对这样的 table 进行斑马色的正确选择呢?
当然,我真正的问题是处理更多的行,以及更多可变的子行。
<head>
<style>
tr:nth-child(odd) {background-color: #eee;}
tr:nth-child(even) {background-color: #fff;}
</style>
<head>
<body>
<table border="1">
<tr>
<td rowspan="2">
Big1
</td>
<td>
small1
</td>
</tr>
<tr>
<td>
small2
</td>
</tr>
<tr>
<td rowspan="3">
Big2
</td>
<td>
small1
</td>
</tr>
<tr>
<td>
small2
</td>
</tr>
<tr>
<td>
small3
</td>
</tr>
</table>
</body>
最佳答案
它按布局工作。
它不工作
<tr>
<td rowspan="2">
Big1
</td>
<td>
small1
</td>
</tr>
将为灰色,这是第一个TR(奇数)
<tr>
<td>
small2
</td>
</tr>
将为白色,其第二个TR(偶数)等。
最好的方法是手动为有问题的tr分配“奇数”和“偶数”类。