3 回答
TA贡献1856条经验 获得超5个赞
一个您发布的版本的实际工作为所有现代浏览器(如CSS选择3级的支持):
div ul:not(:first-child) {
background-color: #900;
}
如果您需要支持旧版浏览器,或者由于:not选择器的限制(仅接受一个简单的选择器作为参数)而受到阻碍,则可以使用另一种技术:
定义一个范围比您想要的更大的规则,然后有条件地“撤销”它,将其范围限制为您想要的:
div ul {
background-color: #900; /* applies to every ul */
}
div ul:first-child {
background-color: transparent; /* limits the scope of the previous rule */
}
限制范围时,请为您设置的每个CSS属性使用默认值。
TA贡献1858条经验 获得超8个赞
这个CSS2解决方案(“一个ul又一个ul”)也可以使用,并且得到更多浏览器的支持。
div ul + ul {
background-color: #900;
}
不同于:not和:nth-sibling,IE7 +支持相邻的兄弟选择器。
如果您有JavaScript在页面加载后更改了这些属性,则应查看IE7和IE8实现中的一些已知错误。 请参阅此链接。
对于任何静态网页,这应该都能正常工作。
TA贡献1111条经验 获得超0个赞
由于IE6-8:not不接受,因此我建议您这样做:
div ul:nth-child(n+2) {
background-color: #900;
}
因此,您可以选择ul其父元素中的每个元素(第一个元素除外)。
有关更多示例,请参见Chris Coyer的“有用的第n个孩子的食谱”一文。nth-child
- 3 回答
- 0 关注
- 422 浏览
相关问题推荐
添加回答
举报