嵌套表中的CSS优先级

时间:2017-04-05 09:27:06

标签: html css

我一直在改进将XML转换为HTML的代码。有一个生成表的递归方法。

我希望每个关卡都有不同的颜色。所以我设置了三个级别的样式,如果递归更深,我会重复它们(级别%3)。

但似乎父表格样式具有优先权,因为第四级别与其父级具有相同的颜色。我可以解决这个问题吗?

http://jsbin.com/lexumogafe

sample

<html>
<head><style>
    table { border-collapse: collapse; }
    table, th, td { border: 1px solid black; }
    th, td { padding: 10px; }
    table.level_1 td { border-color: green; }
    table.level_2 td { border-color: blue; }
    table.level_3 td { border-color: red; }
</style></head>
<body>
    <table class='rule level_1'>
    <tr class="all">
        <td>XX</td>
        <td>
            <table class='rule level_2'>
            <tr class="all">
                <td>YY</td>
                <td>
                    <table class='rule level_3'>
                    <tr class="all">
                        <td>ZZ</td>
                        <td>
                            <table class='rule level_1'>
                            <tr class="all">
                                <td>ZZ</td>
                            </tr>
                            </table>
                        </td>
                    </tr>
                    </table>
                </td>
            </tr>
            </table>
        </td>
    </tr>
    </table>
</body>
</html>

2 个答案:

答案 0 :(得分:4)

您可以使用直接子选择器制作特定于实际mDrawerLayout.closeDrawer(GravityCompat.START); startActivity(new Intent(this, BmapActivity.class)); return true; 的样式:

td

Updated bin

答案 1 :(得分:-2)

使用css父子关系,如

table > table > td
{
border-collapse: collapse;
}

这样css属性将仅适用于其子元素而不是兄弟元素。

相关问题