Answers:
令我惊讶的是,没有人提到使用同级组合器,而IE7和更高版本支持这种组合器:
tr + tr /* CSS2, adjacent sibling */
tr ~ tr /* CSS3, general sibling */
它们的功能完全相同(无论如何在HTML表的上下文中),其功能如下:
tr:not(:first-child)
elem + elem
当要定位的元素不是唯一的子元素时,它才是一个很好的通用解决方案。例如,如果a <h2>
后跟多个<p>
标签,则<p>
在这种情况下,第一个不是第一个孩子。
尽管问题已经有了一个不错的答案,但我只想强调一下,: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;
}
也就是说,由于input
s是子级,因此应将其放置first-child
在选择器的输入部分上。
抱歉,我知道这很旧,但是为什么不按除第一个元素之外的所有tr元素来设置所有tr元素的样式,并使用psuedo类:first-child撤销为所有tr元素指定的内容。
此示例更好地描述了:
tr {
border-top: 1px solid;
}
tr:first-child {
border-top: none;
}
/帕特里克
可能有人可以受益,以下是我所使用的
ol li:not(:first-child) {
background: black;
color: white;
}
您还可以在CSS中使用伪类选择器,如下所示:
.desc:not(:first-child) {
display: none;
}
这不会将该类应用于具有.desc类的第一个元素。
下面是用一个例子一的jsfiddle:http://jsfiddle.net/YYTFT/,这是一个很好的来源解释伪类选择:http://css-tricks.com/pseudo-class-selectors/
first-child
忽略类。
您可以创建一个类,并在定义要(或不希望)由CSS选择的所有future时使用该类。
这可以通过编写完成
<tr class="unselected">
然后在具有行的CSS中(并使用text-align命令作为示例):
unselected {
text-align:center;
}
selected {
text-align:right;
}