我继承了以下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>

如果您在网站上还没有某种shivmoderizr功能(这将有助于解决许多其他类似的问题),则将最简单的方法添加到元素中并选择使用该类是最简单的。

09-16 13:36