2011-08-19 55 views
0

比方說,我有兩個div像這樣:忽略元素包裝的CSS

<div name="parent" style="color:blue;padding:5px"> 
    <div name="child" style="background:red"> 
    Text that ignores color:blue and padding:5px, but still obeys background:red. 
    </div> 
</div> 

我想在名爲孩子忽略不被子定義的所有CSS股利的文本。我知道我可以通過定義每個可用於默認的css選項來實現這一點,但對於我當前的項目來說,這會非常笨重。我也不想使用iframe。我怎樣才能做到這一點?謝謝。

回答

1

我知道我可以通過定義默認的每個css選項來提供 ,但這對於我當前的項目來說會非常笨重。

不幸的是你,那就是必須做:

<div name="parent" style="color:blue;padding:5px"> 
    <div name="child" style="background:red;color:#000"> 
    Text that ignores color:blue and padding:5px, but still obeys background:red. 
    </div> 
</div> 

padding是不可繼承的,所以你並不需要重置。檢查在這裏的「繼承」列,看看你需要重置:http://www.w3.org/TR/CSS21/propidx.html

+0

該死的,我希望只有一個html屬性,就像cssinherit =「false」。哦,那還不如我想象的那麼多。 – Gus

2

CSS中的「C」=「級聯」,這意味着元素繼承父母的屬性。

您可能可以編寫一些腳本來幫助自動執行此操作,但您確實需要覆蓋父級的屬性。這就是CSS的工作方式。

P.S.你應該使用ID和類,而不是「名稱」。

+1

編號級聯描述確定任何數量的衝突規則中的哪一個適用於元素的過程。元素從父母繼承屬性的過程稱爲[繼承](http://www.w3.org/TR/CSS21/cascade.html#inheritance) – Quentin