众所周知,IE6 不支持使用 >
的直接后代选择,但我最近发现,如果你有多个用逗号分隔的选择规则,如果其中一个有>
。
这是我用来测试问题的一段代码:
<body>
<style>
.one, .two{
width: 100px;
height: 100px;
background-color: #FFCCAA;
}
body .two, body > .one{
background-color: #CCFFAA;
}
</style>
<div class="one"></div>
<div class="two"></div>
</body>
我假设(没有阅读文档)这是预期的行为,因为当您编写 AAA, BBB
时,您实际上并没有定义两个选择器,而是一个包含两个部分的选择器。
我还是要问...有什么解决方案不意味着我的 CSS 规则要写两次吗?
谢谢你,
阿林
附言使用 JavaScript 是 Not Acceptable 。
最佳答案
您遇到的行为是 standard CSS error recovery 的一部分, 所以 IE6 是正确的(对于不支持 CSS2 的浏览器)。
您需要复制规则,并单独使用 CSS2 选择器:
<style>
body .two {
background-color: #CCFFAA;
}
body > .one {
background-color: #CCFFAA;
}
</style>
关于html - 有没有办法让 IE6 在遇到 '>' 时优雅地失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4407322/