多个最后一个孩子和/或最后一个孩子不工作

时间:2013-06-11 08:06:49

标签: css css3 css-selectors

不工作:

td:not(:last-child), td:not(:nth-last-child(2))
{ background-color:#ccc; }

不工作:

td:not(:nth-last-child(1)), td:not(:nth-last-child(2))
{ background-color:#ccc; }

不工作:

td:not(:nth-last-child(2))
{ background-color:#ccc; }

td:not(:nth-last-child(1))
{ background-color:#ccc; }

单独工作:

td:not(:nth-last-child(2))
{ background-color:#ccc; }

单独工作

td:not(:nth-last-child(1))
{ background-color:#ccc; }

示例:http://jsfiddle.net/HBeRH/

3 个答案:

答案 0 :(得分:4)

这有效:

td:not(:nth-last-child(2)):not(:nth-last-child(1)) {
    background-color:#ccc;
}

<强> Check this demo

答案 1 :(得分:1)

假设有4个孩子,就像你的小提琴一样,编号为1-4。

td:not(:last-child)指的是tds 1,2和3. td:not(:nth-last-child(2))指的是tds 1,2和4.所以当你在样式表中同时使用这两种样式时,它们会将样式应用于所有4 tds,因为td 3包含在第一个中,而td 4包含在第二个中。

答案 2 :(得分:1)

原因如下:

td:not(:nth-last-child(2)) { background-color:#ccc; }

声明表示所有元素必须具有背景,除了第三个元素

td:not(:nth-last-child(1))
{ background-color:#ccc; }

该陈述意味着所有元素必须具有背景,除了第四个元素

它的逻辑是所有这些都有背景

您可以使用此代码。这是工作代码 http://jsfiddle.net/DeQ6K/