【HTML&CSS入門】必見!ボックスモデルの余白設定

HTML&CSS

こんにちは!

webページについておさらいしています。
今回はボックスモデルについてです。

ボックスモデルとは

ブラウザに表示されているすべてのHTML要素が持つ概念です。
このボックスモデルには以下の領域があります。

ボックスモデルが持つ領域
  • コンテンツ領域
  • パディング領域
  • ボーダー領域
  • マージン領域

図で表すと↓のようになります。

一つずつ説明します。

コンテンツ領域

pタグやh1タグで囲んだ文字などを表示する領域です。

パディング領域

コンテンツ領域とボーダー領域の間に存在する余白部分です。このサイズを調整することによりボーダーとコンテンツとの余白を広げるなどの調整を行うことが可能です。

ボーダー領域

コンテンツ領域の境界線です。

マージン領域

ボックスとボックスの余白です。このサイズを変更することによって隣り合うボックスの間を広げるなど調整を行うことが可能です。

実践してみよう!

では、実際にどのように設定を行うかやってみましょう。

まず、幅600pxのボックスを2つ用意してみます。

パディングやマージンの理解を深めるために、このボックスにボーダーを設定します。
pタグのスタイルを以下の内容で上書きしてください。

borderプロパティについては以下のように設定します。

内側の余白を設定

内側の余白を設定する際は、paddingプロパティを使用します。
pタグのスタイルを以下のように変更します。

これでボーダーとコンテンツの間に余白ができたと思います。

paddingプロパティ

以下のようにCSSを記述します。

上記とは別のプロパティですが、上下左右それぞれパディングを設定することも可能です。

外側の余白の設定

外側の余白を設定する場合、marginプロパティを使用します。
pタグのスタイルを以下のように変更します。

↓実行結果です。


ボーダーの外側に上下左右50pxずつ余白を設定することができました。このときにボックス同士50pxずつ間隔をあけているのだから、ボックス1と2、ボックス2と3の余白は50px*2=100pxなのでは?と思う方もいると思います。

実はボックスが隣り合う場合、どちらかのマージンしか適用されません。

これを「マージンの相殺」といいます。マージンの相殺はマージンの値が大きい方が適用されるようになっています。

marginプロパティ

paddingプロパティと同様な記載になります。

また、paddingプロパティ同様に上下左右それぞれを設定も可能です。

 

コメント