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

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


当前回答

虽然这个问题已经有了一个不错的答案,但我只想强调:first-child标签放在代表子条目的项目类型上。

例如,在代码中:

<div id"someDiv">
     <input id="someInput1" /> 
     <input id="someInput2" />
     <input id="someInput2" />
</div

如果你想只影响带边距的后两个元素,而不影响第一个元素,你可以这样做:

#someDiv > input {
     margin-top: 20px;
}
#someDiv > input:first-child{
     margin-top: 0px;
}

也就是说,由于输入是子元素,您可以将第一个子元素放在选择器的输入部分。

其他回答

听起来你所说的“第一行”是你的表标题-所以你真的应该考虑在你的标记中使用thead和tbody(点击这里),这将导致“更好的”标记(语义正确,对屏幕阅读器有用)和更简单,跨浏览器友好的css选择的可能性(表标题…{…})

因为IE 6、7、8不支持tr:not(:first-child)。可以使用jQuery的帮助。 你可以在这里找到

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

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

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

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

/帕特里克

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

这可以通过书写来完成

<tr class="unselected">

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

unselected {
  text-align:center;
}



selected {
  text-align:right;
}

虽然这个问题已经有了一个不错的答案,但我只想强调:first-child标签放在代表子条目的项目类型上。

例如,在代码中:

<div id"someDiv">
     <input id="someInput1" /> 
     <input id="someInput2" />
     <input id="someInput2" />
</div

如果你想只影响带边距的后两个元素,而不影响第一个元素,你可以这样做:

#someDiv > input {
     margin-top: 20px;
}
#someDiv > input:first-child{
     margin-top: 0px;
}

也就是说,由于输入是子元素,您可以将第一个子元素放在选择器的输入部分。