我有以下的html:我需要限制的CSS樣式層疊
<div class="canvas red">
<div>
<div class="canvas blue">
<div>
has blue border
<div class="canvas red">
...
<div>
MUST HAVE RED BORDER
</div>
</div>
</div>
</div>
</div>
</div>
這裏是CSS代碼:
div.canvas div {
border-style: solid;
border-width: 1px;
}
div.canvas.red div {
border-width: 4px;
border-color: red;
}
div.canvas.blue div {
border-color: blue;
}
的問題是3:
的最裏面的
div.canvas.red div
收到blue
邊框,因爲它在層次結構中位於div.canvas.blue
之內。我需要停止這個CSS繼承,以便最內層的div.canvas.red div
不會被div.canvas.blue
扭曲。由於動態插入網頁中的組件,我無法控制上面的div的嵌套。我可以處理各種嵌套場景。
我不能改變的CSS結構和它被施加的方式 - 等
canvas
和red
/blue
等是分開的類名,代替具有canvas_red
和canvas_blue
爲不同的類。
我不打算支持IE6,因此我可以使用>
令牌我的CSS。但是,我無法恰當地利用它。如果您更適當地更改我的代碼,我會更好。
您無法停止CSS繼承。但是你可以覆蓋它。使用!重要是一種方式。 – Jawad 2012-02-19 20:56:58
@Jawad:這是無稽之談。重寫和繼承是兩個完全不同的東西。 – BoltClock 2012-02-19 21:07:50
@Jared Farrish:這個問題與嵌套元素無關,但我看到代碼已經改變,所以我刪除了我的答案。 – BoltClock 2012-02-19 21:13:53