2011-09-22 17 views
6

子divのすべての要素に親divの背景色を与えたいと思っていました。しかし、私が見ているように、child divsのスタイルは、子供がそのプロパティを持っていなくても、親のスタイルを上書きします。たとえば、子divに強制的に親のスタイルを使用する

Parent's div 
<div style="background-color:#ADADAD;"> 
some codes here... 
child's div 
<div style="position:absolute;font-size:12px; left:600px;top:100px;"> 
again some codes... 
</div></div> 

ここで、子divのスタイルを削除しても問題ありません。私は私の問題は、私も外部のCSSファイルで同じことをした場合、解決する可能性があると思う。しかし、私はすでにこのような何百ものdivを作っています。だから、とにかくだけの背景色のために、子スタイルに親のスタイルを強制的にあるのでしょうか?(新しいCSSで)

+1

「私はすでに何百ものdivをこのようにしています...」私はとてもそうです。 – Larsenal

+0

少なくとも、私は今日何かを学んだ:) – user893970

+0

これは正しい姿勢です。 – Larsenal

答えて

5

しかし、私は見るように、CHIDのdiv要素スタイルの上書き親のスタイルの子供がいることを持っていなかったにもかかわらず、プロパティ。

いいえ、デフォルトでは値を継承しないため、他の値(通常はtransparent)を取得します。

背景色で希望通りのものを得ることができます(inherit)。それはproblems in older versions of IEです。

2

子のdivに継承プロパティを使用します。このような

background:inherit 

<div style="position:absolute;font-size:12px; left:600px;top:100px; background:inherit"> 
2

使用CSSセレクタのは、自分の親から継承した子のdivの背景を作るために:

Parent's div 
<div id="thisparticulardiv"> 
some codes here... 
child's div 
<div class="childrendiv"> 
again some codes... 
</div></div> 

CSS:

#thisparticulardiv { 
    background-color:#ADADAD; 
    ... 
} 

#thisparticulardiv div { 
    background: inherit; 
    position:absolute; 
    font-size:12px; 
    left:600px; 
    top:100px; 
} 
関連する問題