我如何选择所有tr元素除了第一个tr在一个表与CSS?

我试过用这种方法,但发现行不通。


当前回答

另一个选择:

tr:nth-child(n + 2) {
    /* properties */
}

其他回答

我很惊讶居然没有人提到兄弟组合子的使用,IE7及后续版本都支持兄弟组合子:

tr + tr /* CSS2, adjacent sibling */
tr ~ tr /* CSS3, general sibling */

它们的功能完全相同(在HTML表的上下文中):

tr:not(:first-child)

理想的解决方案,但IE不支持

tr:not(:first-child) {css}

第二个解决方案是为所有tr设置样式,然后为第一个子重写CSS:

tr {css}
tr:first-child {override css above}

您可以创建一个类,并在定义所有希望(或不希望)被CSS选择的future时使用该类。

这可以通过书写来完成

<tr class="unselected">

然后在你的CSS中有这些行(并使用text-align命令作为例子):

unselected {
  text-align:center;
}



selected {
  text-align:right;
}

通过向第一个tr或后续tr添加一个类。没有跨浏览器的方法来选择你想要的行仅用CSS。

然而,如果你不关心ie6、ie7或ie8:

tr:not(:first-child) {
    color: red;
}

抱歉,我知道这是旧的,但为什么不样式所有tr元素的方式,除了第一个和使用pseudo类:first-child,你撤销你指定的所有tr元素。

下面这个例子可以更好地描述:

http://jsfiddle.net/DWTr7/1/

tr {
    border-top: 1px solid;
}
tr:first-child {
    border-top: none;   
}

/帕特里克