CSS直接后代“>”操作员不工作(而且不是IE6)?

时间:2011-09-22 07:05:51

标签: html css css-selectors

我正在尝试做一些非常简单的事情 - 选择标签的直接后代标记。

我使用的CSS如下:

table.data > tr { background-color: red; }

我的HTML看起来像这样:

<table class="data">
    <tr>
        ...
    </tr>
</table>

但没有红色背景即将到来!如果我删除“&gt;”来自CSS的角色,它的作品!我在Firefox,IE 8,Chrome和Safari中尝试过这一点,并且所有浏览器完全一样。

希望有这么多令人沮丧的时间后,有人可以帮助我!我知道我做的事情非常愚蠢,但我无法弄清楚它是什么。

1 个答案:

答案 0 :(得分:25)

大多数 1 浏览器会自动将tbody元素插入table,因此css应为:

table.data > tbody > tr { background-color: red; }

考虑到这一点。


1 认为所有浏览器都这样做,但我没有足够的时间来检查这个假设。如果您担心某些用户的浏览器不能执行此操作,您可以在css中提供两个选择器:

table.data > tr,
table.data > tbody > tr { background-color: red; }