我如何选择所有tr元素除了第一个tr在一个表与CSS?
我试过用这种方法,但发现行不通。
我如何选择所有tr元素除了第一个tr在一个表与CSS?
我试过用这种方法,但发现行不通。
当前回答
你也可以像这样在CSS中使用伪类选择器:
.desc:not(:first-child) {
display: none;
}
这将不会将类应用到带有.desc类的第一个元素。
下面是一个带有示例的JSFiddle: http://jsfiddle.net/YYTFT/,这是一个很好的解释伪类选择器的源代码:http://css-tricks.com/pseudo-class-selectors/
其他回答
通过向第一个tr或后续tr添加一个类。没有跨浏览器的方法来选择你想要的行仅用CSS。
然而,如果你不关心ie6、ie7或ie8:
tr:not(:first-child) {
color: red;
}
你也可以像这样在CSS中使用伪类选择器:
.desc:not(:first-child) {
display: none;
}
这将不会将类应用到带有.desc类的第一个元素。
下面是一个带有示例的JSFiddle: http://jsfiddle.net/YYTFT/,这是一个很好的解释伪类选择器的源代码:http://css-tricks.com/pseudo-class-selectors/
虽然这个问题已经有了一个不错的答案,但我只想强调: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;
}
也就是说,由于输入是子元素,您可以将第一个子元素放在选择器的输入部分。
因为IE 6、7、8不支持tr:not(:first-child)。可以使用jQuery的帮助。 你可以在这里找到
理想的解决方案,但IE不支持
tr:not(:first-child) {css}
第二个解决方案是为所有tr设置样式,然后为第一个子重写CSS:
tr {css}
tr:first-child {override css above}