我如何选择所有tr元素除了第一个tr在一个表与CSS?
我试过用这种方法,但发现行不通。
我如何选择所有tr元素除了第一个tr在一个表与CSS?
我试过用这种方法,但发现行不通。
当前回答
理想的解决方案,但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;
}
我很惊讶居然没有人提到兄弟组合子的使用,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}
抱歉,我知道这是旧的,但为什么不样式所有tr元素的方式,除了第一个和使用pseudo类:first-child,你撤销你指定的所有tr元素。
下面这个例子可以更好地描述:
http://jsfiddle.net/DWTr7/1/
tr {
border-top: 1px solid;
}
tr:first-child {
border-top: none;
}
/帕特里克
虽然这个问题已经有了一个不错的答案,但我只想强调: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;
}
也就是说,由于输入是子元素,您可以将第一个子元素放在选择器的输入部分。