最重要

ボックスモデル

CSS を理解する最大の鍵:全ての要素は「四角い箱」でできている

CSSにおける「箱」の概念

Webデザインを学ぶ上で、避けて通れない最重要概念が「ボックスモデル」です。画面に表示されるすべてのHTML要素(見出し、段落、画像、ボタンなど)は、実はすべて「見えない長方形の箱」の中に収まっています。CSSを使ってレイアウトを作る作業は、いわばこの「箱」のサイズや隙間を調整して、積み木のように組み立てていく作業そのものです。

ボックスを構成する4つの要素

一つの箱は、内側から順に以下の4つの層でできています。この順序と役割を完全に理解することが、脱初心者への第一歩です。

Margin (外側の余白)
Border (境界線)
Padding (内側の余白)
Content (実体)

1. Content (コンテンツ)

箱の「中身」そのものです。テキストや画像が表示される領域で、`width`(幅)や `height`(高さ)プロパティで指定されたサイズがここに適用されます。

2. Padding (パディング)

コンテンツと枠線の間の「緩衝材」です。これがないと、テキストが枠線にピタッとくっついてしまい、窮屈で読みづらくなります。「内側の余白」と覚えましょう。背景色を指定すると、このパディング領域まで色が塗られます。

3. Border (ボーダー)

箱の「皮」にあたる境界線です。太さ、色、スタイル(実線、点線など)を指定できます。デバッグ時に `border: 1px solid red;` をつけて箱の範囲を可視化するのは、プロもよくやるテクニックです。

4. Margin (マージン)

箱と箱の間の「隙間」です。「隣の要素とどれくらい離れるか」を指定します。マージンには背景色は塗られず、常に透明です。「外側の余白」と覚えましょう。

レイアウト崩れの元凶とその解決策

初心者が最もハマりやすい罠が、「widthを100%にしたのに、paddingをつけたらはみ出した!」という現象です。

デフォルトのCSS(content-box)では、`width` は「コンテンツの幅」だけを指します。そのため、全体の幅は `width + padding + border` になり、指定したサイズよりも箱が大きくなってしまうのです。

✅ 魔法の呪文: box-sizing: border-box

この問題を一発で解決するのが `box-sizing: border-box;` です。これを指定すると、paddingやborderを含めたサイズが `width` になります。計算が直感的になり、レイアウト崩れが激減します。

* {
    box-sizing: border-box;
}

現代のWeb制作では、全ての要素にこれを適用するのが常識となっています。

まとめ

「paddingは内側、marginは外側」。そして「box-sizing: border-box を使う」。この2点を抑えておけば、CSSレイアウトの9割は怖くありません。箱の構造をイメージしながら、自在にデザインを組めるようになりましょう。