我遇到了一個奇怪的行爲,但它可能是它應該是的,但它是意想不到的和不受歡迎的。CSS嵌套規則,覆蓋規則的意外行爲
樣本HTML:
<div class='rtl'>
<div class='ltr'>
<div class='floatleft'>
A
</div>
<div class='floatleft'>
B
</div>
</div>
</div>
和CSS:
.ltr .floatleft {
float:left;
}
.rtl .floatleft {
float:right;
}
但是輸出是正確的浮動,因爲它是最後一個在CSS文件中指定的規則: .rtl .floatleft {float:right}
然而,正因爲類「ltr」是在嵌套元素上指定的,所以我希望或希望優先考慮該規則,以便始終可以覆蓋所有祖先應用的內容。
但是,這不工作。有沒有我在這裏看不到的方法?
這裏是另外一個問題與此類似:
它必須是雙向的,如果你把'.ltr'首先,然後'.rtl',你的解決方案不起作用。 – mbillard
就像mbillard在說......你的解決方案只能在這種情況下工作,而不是其他方式,而不是嵌套元素的深度。 – Samson
小孩選擇器呢? http://jsfiddle.net/3E4Me/2/ – gnagy