Webサイトのデザインを整えるうえで欠かせない「余白」ですが、
その中でもよく使われるのが margin
と padding
の2つです。
両者は似ているようで役割がまったく異なります。
この記事では、CSSのpadding
(パディング)について、基本から応用までをわかりやすく解説します。
paddingとは?
padding
(パディング)は、要素の内側に余白を作るプロパティです。
つまり「文字や画像などのコンテンツ」と「ボックスの枠線(border)」との間にできるスペースを指します。
See the Pen Untitled by suguru (@suguru22) on CodePen.
上記の例では、テキストのまわりに20px分の内側の余白ができます。
ボックス全体のサイズも、padding分だけ大きくなる点に注意しましょう。
paddingの指定方法
padding
は4方向(上・右・下・左)にそれぞれ指定できます。
プロパティ | 意味 | 例 |
---|---|---|
padding-top | 上の内側余白 | padding-top: 10px; |
padding-right | 右の内側余白 | padding-right: 20px; |
padding-bottom | 下の内側余白 | padding-bottom: 30px; |
padding-left | 左の内側余白 | padding-left: 40px; |
省略記法(shorthand)
4つの方向のpaddingをまとめて指定することもできます。
padding: 10px 20px 30px 40px;
/* 上 右 下 左 の順番 */
また、省略記法では指定数によって意味が変わります。
記述 | 意味 |
---|---|
padding: 10px; | 全方向10px |
padding: 10px 20px; | 上下10px、左右20px |
padding: 10px 20px 30px; | 上10px、左右20px、下30px |
padding: 10px 20px 30px 40px; | 上10px、右20px、下30px、左40px |
paddingの単位
padding
にはさまざまな単位が使えます。
目的に応じて固定値や相対値を使い分けましょう。
単位 | 意味 |
---|---|
px | 固定ピクセル(デザインのズレが少ない) |
% | 親要素の幅に対する割合で指定 |
em | 要素自身のフォントサイズに対して相対的 |
rem | HTMLルートのフォントサイズに対して相対的 |
paddingで注意すべき点
ボックス全体の大きさが変わる
デフォルトでは、CSSのbox-sizing
がcontent-box
になっています。
この状態では、paddingを増やすとボックスの外側サイズ(実寸)が大きくなります。
.box {
width: 200px;
padding: 20px;
}
この場合、実際のボックス幅は200px(content) + 20px(左) + 20px(右) = 240px
になります。
対策:box-sizingをborder-boxにする
* {
box-sizing: border-box;
}
これを指定すると、paddingを増やしても外側サイズは変わらず、中身が圧縮されるようになります。
近年のCSS設計では、ほとんどのケースでこの指定が推奨されています。
paddingとmarginの違い
比較項目 | padding | margin |
---|---|---|
余白の位置 | 内側(内容と枠線の間) | 外側(他の要素との間) |
背景色の反映 | 背景が反映される | 背景は反映されない |
ボックスの大きさ | paddingを増やすとボックスが大きくなる | marginを増やしてもボックスサイズは変わらない |
相殺(collapse) | なし | 上下方向で相殺されることがある |
実例で比較
See the Pen Untitled by suguru (@suguru22) on CodePen.
この例をブラウザで確認すると、padding-box
は灰色の背景(親)にくっついており、内側に余白があるのに対して、margin-box
はピンクのボックス全体が灰色から離れているのが分かります。
よくある使い方
テキストにゆとりを持たせる
See the Pen Untitled by suguru (@suguru22) on CodePen.
→ 文字が端に詰まらず、読みやすいレイアウトになります。
ボタンのクリック範囲を広げる
See the Pen Untitled by suguru (@suguru22) on CodePen.
→ paddingで「押しやすいボタン」に。
paddingを使う際のコツ
- 余白の統一感を出すため、基準値(例:8px単位)を決めておく
- 内側のバランスを整えるときはpadding、外側の調整はmargin
box-sizing: border-box
を基本にする
まとめ
padding
は、ボックスの内側に余白を作ることで、
テキストの見やすさやデザインの整い方を大きく左右する重要なプロパティです。
「paddingで内側のゆとりを作り、marginで外側の間隔を整える」
この考え方を押さえておくと、CSSレイアウトがぐっと安定します。