CSSのマージン(margin)とパディング(padding)の違いがわからない!図を用いて簡単に説明!

CSSで頻繁に使用するマージン(margin)とパディング(padding)ですが、似たような指定のため、ごちゃごちゃになってしまう方もいらっしゃるかと思います。

今回はこのマージン(margin)とパディング(padding)について詳しく、かつ簡単に解説させていただきます!

本記事を読むことによって、マージンとパディングについてしっかり理解して、実際のコーディングでも使用できるようになると思います!

実際の記載方法にも触れていきますので、ぜひ最後まで読んでいただけると幸いです!

目次

マージン(margin)とは?

CSSでは余白を表す意味合いで使用されており、主にHTMLの要素と要素の間隔を調整するために使用します。

まずは下記の例をご覧ください。

<!-- HTML -->
<div class="box-1">box-1</div>

/* CSS */
.box-1 {
  width: 200px;
  height: 200px;
  background-color: pink;
}

このようにボックスが表示されます。

もう一つ別の名前で追加してみましょう。

<!-- HTML -->
<div class="box-1">box-1</div>
<div class="box-2">box-2</div>

/* CSS */
.box-1 {
  width: 200px;
  height: 200px;
  background-color: pink;
}
.box-2 {
  width: 200px;
  height: 200px;
  background-color: orange;
}

特に指定をしていないため、くっついて表示されています。

ここにマージンを指定してみます。

/* CSS */
.box-1 {
  width: 200px;
  height: 200px;
  background-color: pink;
  margin-bottom: 30px;    /* 追加 */

}
.box-2 {
  width: 200px;
  height: 200px;
  background-color: orange;
}

「box-1」のclassが付与されている要素の下に「margin-bottom: 30px」を指定しました。マージンでは要素の外側、いわゆる余白にあたる部分の幅を指定するプロパティとなります。

marginプロパティでは、上下左右に指定することが可能です。

margin-top: 40px;     /* 要素の上側に40pxの余白 */
margin-right: 30px;   /* 要素の右側に30pxの余白 */
margin-bottom: 20px;  /* 要素の下側に20pxの余白 */
margin-left: 10px;    /* 要素の左側に10pxの余白 */

上下左右を一気に指定することも可能で、実際には下記の指定方法をよく使用します。

margin: 40px 30px 20px 10px;  /* 上側 右側 下側 左側 */

上側から始まり、時計回りに値を指定します。
このパターンでは、4方向すべて違う値でしたが、実際にはさまざまなパタンがあり、指定方法も異なります。
下記がその他の例となります。

/* 4方向すべて同じ場合の省略形 */
margin: 40px;

/* 上下は40px、左右は20pxの省略形 */
margin: 40px 20px;

/* 上下は40px、左右は30px、下は20pxの省略形 */
margin: 40px 30px 20px;  

パディング(padding)とは?

マージンは外側の余白という意味でした。パディングは反対で、要素の内側の余白になります!

先ほど使用した図でパティングを使用してみましょう。

/* CSS */
.box-1 {
  width: 200px;
  height: 200px;
  background-color: pink;
  margin-bottom: 30px;
  padding-top: 20px   /* 追加 */
}
.box-2 {
  width: 200px;
  height: 200px;
  background-color: orange;
}

ピンクの中に余白ができているのがわかるかと思います。「padding-top: 20px」を指定することによって、要素の内側の上側に余白が作成されています。

/* CSS */
.box-1 {
  width: 200px;
  height: 200px;
  background-color: pink;
  margin-bottom: 30px;
  padding-top: 20px   /* 追加 */
  padding-left: 20px;   /* 追加 */
}
.box-2 {
  width: 200px;
  height: 200px;
  background-color: orange;
}

今度は左側にもパティングを追加してみました。

要素の中の左側にも余白が作成されました。

パディングもマージンと同様に省略形での記載が可能です。

pading-top: 40px;     /* 要素内の上側に40pxの余白 */
pading-right: 30px;   /* 要素内の右側に30pxの余白 */
pading-bottom: 20px;  /* 要素内の下側に20pxの余白 */
pading-left: 10px;    /* 要素内の左側に10pxの余白 */

/* 上側 右側 下側 左側 */
pading: 40px 30px 20px 10px;
/* 4方向すべて同じ場合の省略形 */
pading: 40px;

/* 上下は40px、左右は20pxの省略形 */
pading: 40px 20px;

/* 上下は40px、左右は30px、下は20pxの省略形 */
pading: 40px 30px 20px;

省略形で記載したほうがよい?

結論から言って、省略形で記載しなくても、動きに変化があるわけではないので、必須ではありません!

ですが、コーディングの量が多くなってくると、省略できるところを省略していかないと、ものすごく長いコードになってしまい、見辛くなってしまうんですね・・・

省略形を使用しないと、どこまでもスクロールするなんてことに・・・

コーディングにおいては、1画面でどれだけコードが見れるか、というところが非常に大事になってきます。

さいごに

マージンとパディングについて、解説させていただきました。

ごちゃごちゃになりやすいですが、どちらも実際のコーディングではなくてはならない存在で、非常に大事な部分になります。

実際に使用しながら、理解を深めていけば大丈夫です。

本記事にて少しでもお悩みの解決に繋がれば幸いです!

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次