我有下表,第一行包含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分配“奇数”和“偶数”类。

10-07 14:30