我有类似的东西:
<div id="content>
<h1>Welcome to Motor City Deli!</h1>
<div style=" font-size: 1.2em; font-weight: bolder;">Sep 19, 2010</div>
<div > ... </div>
第二个div(“内容” div中的第一个div)的css选择器是什么,以便我可以在该div中设置日期的字体颜色?
Answers:
您的问题最正确的答案是...
#content > div:first-of-type { /* css */ }
这会将CSS应用于#content的直接子元素的第一个div(可能是也可能不是#content的第一个子元素)
另外的选择:
#content > div:nth-of-type(1) { /* css */ }
except
首/末div吗?
#content > div:not(:last-of-type) { /* css */ }
#content > div:not(:first-of-type):not(:last-of-type) { /* css */ }
你要
#content div:first-child {
/*css*/
}
<div>
不是第一个孩子(是<h1>
)。
div
是第一个孩子,它也不会在IE中起作用。
如果我们可以假设H1总是在那里,那么
div h1+div {...}
但不要害怕指定内容div的ID:
#content h1+div {...}
这样就可以立即获得跨浏览器,而无需借助jQuery之类的JavaScript库。使用h1 + div可以确保只有H1之后的第一个div才能获得样式。有替代方法,但是它们依赖CSS3选择器,因此不适用于大多数IE安装。
与您正在寻找的最接近的东西是:first-child伪类 ; 不幸的是,这不适用于您的情况,因为您在<h1>
之前有一个<div>s
。我的建议是,您可以将类添加到<div>
,<div class="first">
然后按这种方式设置样式,或者如果您确实无法添加类,请使用jQuery:
$('#content > div:first')
$('#content > div.first)