选择器:n-child没有休息?

时间:2013-03-18 19:14:36

标签: html css css-selectors

我有这个示例html代码。

<table>
    <tbody>
        <tr class="test"><td>Test</td></tr>
        <tr><td></td></tr>
        <tr class="test"><td>Test</td></tr>
        <tr class="test"><td>Test</td></tr>
    </tbody>
</table>

我的css代码如下:

table tbody tr.test:nth-child(2n+1) {
    background-color: #ff00ff;
}

输出错误:(

看来tr没有上课了。 * 为什么!?的*

请看jsfiddle.net:http://jsfiddle.net/Bubelbub/rFddk/

提前谢谢你!

1 个答案:

答案 0 :(得分:1)

不,相反,没有课程的tr不会影响:nth-child():在这个意义上它永远不会被“打破”。如果这个元素是它的父元素的第n个子元素,那么它就是第n个子元素,无论它具有什么类/没有它或者它是什么元素类型,等等。选择器中.test的存在只是意味着“此元素必须具有匹配的类”。由于该元素没有类,因此规则不会被应用,就像那样简单。