ボックスモデル:余白の構造を理解する

1. ボックスの4つの層

HTMLの全ての要素(特にブロックレベル要素)は、以下の図のような「4つの層」から成る箱として扱われます。

コンテンツ本体
(文字や画像)
名称役割背景色の影響
marginボーダーの外側の余白。隣の要素との距離。透明になる
borderコンテンツと余白を囲む境界線。独自の色を指定可
paddingボーダーとコンテンツの間の余白。要素の背景色が適用される
contentテキストや画像が表示される領域。要素の背景色が適用される

2. display: block がもたらす自由度

前の資料で学んだ通り、インライン要素(<span>等)は上下の余白が効かないなどの制限があります。しかし、CSSで display: block; を指定することで、自由な余白設計が可能になります。

● ブロック化することで可能になること:

3. コーディング時のアドバイス

初心者がよく迷うのが「marginとpaddingの使い分け」です。以下のイメージを持つとスムーズです。

発展:box-sizing について

現在のコーディングでは、paddingborder を増やしても箱全体の幅が変わらないようにするために、以下の設定をすることが一般的です。

box-sizing: border-box;

※これを使わないと、paddingを増やすたびに箱全体がデカくなってしまい、計算が大変になります。