衆所周知,IE6不支持>
的直接後代選擇,但我最近發現的是,如果您有多個以逗號分隔的選擇規則,它會忽略所有這些規則,如果其中有一個>
。有沒有辦法使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是不可接受的。
你做定義兩個單獨的選擇,但請用逗號將它們組合在一起,它被認爲是一個規則。規範說,在無法識別的選擇器上,整個*規則*被忽略。所以IE6的確如預期那樣優雅地失敗了。 porneL說,唯一真正的解決方案是將選擇器分成自己的規則:/ – BoltClock 2010-12-13 04:48:47