ブログ

paddingとmarginの違いをわかりやすく解説

PC使う人

コーディングしていく中で再頻出の一つである、paddingとmargin。

どちらも同じ余白の設定をするCSSのプロパティですが、何が違うのかよくわからない。

HTML/CSSの初学者には、あるあるの悩みだと思います。

今回はその2つの違いを分かりやすく解説していきます。


つむぎ
paddingって余白を設定するのに使うってことをこの前勉強したんだけど、確か、marginも同じように余白じゃなかった?何が違うの~??


確かにpaddingとmarginは同じ余白に関する設定で分かりにくいのだ。だけどこの二つは明確に違うものなのだ。
ずんだもん


一見、ややこしいこの2つだけど、実は一発で違いがわかるようになる考え方があるのだ。今回はその説明と具体的な使用例を解説するのだ。
ずんだもん


(今回のゴール)paddingとmarginを完全に使い分けられるようになる!


一発でわかる「padding/margin」の違い


それでは早速、paddingとmarginの違いを解説していきます。

それはそれぞれを日本語訳に直すと一発でわかると思います。

padding=詰め物

margin=余白

要は、paddingは要素の中に詰め物をして余白を押し広げるイメージ

marginは要素の外を余白にして何もない空間をつくるイメージ

です!

とてもシンプルですよね。

ずんだもん
もうこれで理解できた!って人はここで記事を閉じてもらって大丈夫なのだ。

ここからはもう少し詳しく聞きたいって人だけ読んでくれれば大丈夫です。

それではそれぞれのプロパティについて詳しく解説していきます。

具体的なpaddingの使い方

ずんだもん
まずはpaddingなのだ。

最初にpaddingの具体的な使用例についてみていきたいと思います。

わかりやすい例ではボタンを設置して、ボタンにリンク機能を付けたい場合です。

HTMLを下記のように記載したとします。

<a href=”#”> ボタン </a>

こうすることで「ボタン」の部分にリンク機能をつけることができます。

それではこれにどうCSSを実装するか。

それが下記です。

a {
 border: 1px solid #000;
  padding: 15px 40px;
 text-decoration: none;
 color: #000;
  display: inline-block;
}

borderプロパティによって要素のちょうど外側の部分に線が追加されます。

paddingはそのborderの内側に余白を加えることができます。

今回の場合は上下に15px、左右に40pxです。

ここまでのコードをまとめると下記のようになります。

See the Pen Untitled by kota (@kota1459) on CodePen.

体裁を整えるため、いくつかプロパティを加えていますが、

今回はaタグのborderとpaddingに着目していただければ問題ないです。

このようにpaddingは要素を押し広げることが可能なので

これでボタン内全体どこを押してもリンクをクリックすることができます。

このようにpaddingは要素の中に詰め物をして白を押し広げる目的で使われます。

具体的なmarginの使い方

paddingがborderの内側の要素を広げるのに対し、marginはborderの外側に余白を設けます。

こちらの方が想像がつきやすいと思います。

  • 画像と画像の間に余白を設けたい。
  • セクション間に余白を設けたい。
  • テキストとテキストの間を空けたい。

このように要素と要素の間に余白が欲しい場面で使えます。

下記に例をあげます。

See the Pen Untitled by kota (@kota1459) on CodePen.

例ではhoge1とhoge2の要素の間にmargin-bottomプロパティを入れることによって余白を設けています。

ここで仮にpaddingを使うと要素自体が大きくなるだけになってしまい、目的と異なってしまいますね。

いかかでしょうか。

これでpaddingとmarginのそれぞれの使い方がわかったのではないかと思います。

ここでWebページでF12キーを押すことで見られるデベロッパーツールを見てみたいと思います。

上記のような画像を見たことがあると思います。

この図の意味がわからなかった人も今ならわかるのではないでしょうか。

真ん中の青い部分は要素の部分。俗にいう、テキスト等が入る部分です。

borderが要素の境界線にあたります。

borderの外側に余白が欲しいときはmargin。

要素を押し広げたい=borderの内側に余白が欲しいときはpaddingを使用します。

なので、この部分の余白をもう少し広げたい、狭めたいという時はF12キーを押して、そこの部分が何によって(paddingなのかmarginなのか、はたまたborderなのか)指定されているのかを見れば一瞬で修正ができるということです。

ココがポイント

paddingは内側の余白、marginは外側の余白を指定するのに使う

以上、paddingとmarginの使い分け方でした。

正しく使えることでコーディングの時間短縮にもつながると思うので、これらのことを頭に入れてくれると幸いです。

ずんだもん
以上がpaddingとmarginの違いだけど、理解できたかな?
ばっちりよ。要はborderの内側か外側どちらに余白を付けたいかで使い分ければいいんだよね?
つむぎ
ずんだもん
その通りなのだ。内側の余白がpaddingで外側の余白にはmarginを使うのだ。
覚え方はpaddingが日本語に訳すと詰め物だから内側って覚えるとよさそうだね。
つむぎ

最後までご覧いただき、ありがとうございました。

当サイトではフリーランスを目指す人のためのプログラミング教材の作成を心掛けてサイト運営を努めております。

別途、動画では、初心者向けに一からコーディングの解説を行っておりますので、興味があればご覧いただければと思います。


 
【クレジット】
VOICEVOX:ずんだもん
立ち絵素材:ヒザフライ様
VOICEVOX:春日部つむぎ
立ち絵素材:ヒザフライ様

  • この記事を書いた人
  • 最新記事

Kota

現役フリーランス。新卒でネットワークインフラの企業に就職する。 働きながら、独学でHTML/CSS/Javascript/WordPressを習得し、独立。 現在、フリーランスとして働きながら、起業の準備中。 プログラミング解説サイトSteppin’の管理者。

-ブログ
-,