hogehoge foobar Blog Style Beta

Web,Mac,Linux,JavaScript,Perl,PHP,RegExp,Git,Vim,Redmineなど技術的なことのメモや、ちょっと便利そうなものの紹介をしています。

ボックスモデル

引き続き「実践 Web Standards Design ~Web標準の基本とCSSレイアウト&Tips;~」を閲読中です。

今日は、ボックスモデルです。
(X)HTMLのボックスモデルは「内部領域」「パディング」「ボーダー」「マージン」の4つの領域からなります。

内部領域
要素の内容自体が持つ領域。テキストや画像など。
widthやheightはここの領域に対して適用される。

パディング
内部領域とボーダーの間の部分。
ようは内部領域とボーダーの間の余白(マージン?)

ボーダー
パディングの周辺部分。ボックスの囲み線?

マージン
ボーダーの外側の余白。


マージン

ボーダー

パディング

内容領域




ボックスモデルの横幅を算出する場合は、

ボックスモデルの横幅 = width + padding-left + padding-right + border-left + border-right + margin-left + margin-right

となるそうです。

ただし、マージンに関しては、「マージンの相殺」と呼ばれるものがあり、
例えば、ブロックAが”margin-bottom: 10px"、ブロックBが"margin-top: 20px"の場合、
ブロックAとブロックBの間の余白は、10px + 20px = 30px ではなく、
ブロックAのmargin-bottomが相殺されて、実際の余白は20pxになるそうです。


ブロックA
margin-bottom: 10px


ここの余白は20px


ブロックB
margin-top: 20px