2010-12-13 14 views
1

div要素のいずれかから境界線スタイルを削除し、次にdiv要素の高さから境界線スタイルを削除すると、全体的なボックスは影響を受けますか? 誰かが私のためにこれを説明できますか?CSSボックスの説明 - 高さに影響を与える内側の余白と外側のコンテナの境界

<div style="background-color:red;border:1px solid black;"> 
    <div style="margin:10px;background-color:blue;border:1px solid black;"> 
     <p style="margin:30px;background-color:gray;border:1px solid black;">test</p> 
    </div> 
</div> 

皆さんはこれをシミュレートできますか?ボーダースタイルを削除すると高さが変わるのですか? 誰かがこの上にいくつかの光を当てることを願って 多くの感謝!

+0

ええ、それは動作します –

答えて

4

高さ(および幅)は、CSSの幅、高さ(または幅)、マージン、およびパディングの合計によって決まります。それはCSSボックスモデルと呼ばれ、W3Schoolsの詳細はexplanationです。

+0

それは完全には正しくありません。パディング(マージンではない)は「可視」幅に影響します。マージンはマージンにも影響します。 http://www.w3.org/TR/CSS21/images/boxdim.png。要素の幅はwidth + left/right padding + left/right borderです。境界の後ろのすべてが要素幅ではありません。 – Flack

+0

2番目の考えでは、技術的にマージンが要素に指定されており、w3schoolsは何らかの形で幅を計算しています。しかし、私の教授経験は、この言葉が人を誤って案内することを私に伝えています。マージンは透明であり、可視コンテンツは含まれないという事実から来ている。 – Flack

1

境界線を追加すると、指定したピクセル数が要素の外側に追加されます。その意味で、要素の高さが変更されます。

それは、それが固定された高さを持っていない場合、divの高さに影響します。

関連する問題