我继承了以下CSS代码,以最初隐藏一系列段落和一系列列表项的后面元素。
.profileSection p:nth-of-type(n+2) {
display: none;
}
.profileSection li:nth-of-type(n+6) {
display: none;
}
显然,此代码在IE8中不起作用。隐藏这些元素的另一种方法是什么?
最佳答案
+
(即adjacent sibling selector)将允许您选择相邻的所有 sibling 。在您的情况下:.profileSection p+p
。 (如果必须执行此操作,请考虑将其包装在某种东西中,以防止其他浏览器看到它,例如conditional comments。)
但是,如果您的标记中的+
元素彼此相邻,则<p>
将无济于事。例如:<p>Alpha</p>
<h4>Header</h4>
<p>Beta</p>
如果您在网站上还没有某种shiv或moderizr功能(这将有助于解决许多其他类似的问题),则将最简单的方法添加到元素中并选择使用该类是最简单的。