カテゴリ: CSS 更新日: 2026/02/07

CSSのmarginとpaddingの違いとは?初心者でもわかるボックス間のスペース調整の基本

marginとpaddingの違いとは?ボックス間のスペース調整の基本
marginとpaddingの違いとは?ボックス間のスペース調整の基本

先生と生徒の会話形式で理解しよう

生徒

「先生、CSSのmargin(マージン)とpadding(パディング)の違いがよく分かりません。」

先生

「とても大切なポイントですね。どちらも“余白(よはく)”を作るためのプロパティですが、実は役割が違うんです。」

生徒

「見た目は似ているのに、どう違うんですか?」

先生

「では、marginとpaddingの違いを、身近な例えを使って詳しく説明していきましょう!」

1. marginとpaddingの基本的な違いを理解しよう

1. marginとpaddingの基本的な違いを理解しよう
1. marginとpaddingの基本的な違いを理解しよう

Webデザインのレイアウトを整える際、最も頻繁に使うのがmargin(マージン)padding(パディング)です。どちらも「空白」を作るプロパティですが、どこに空白を作るのかという点が根本的に異なります。

  • margin(マージン):要素の「外側」に作る余白。隣の要素との距離を調整します。
  • padding(パディング):要素の「内側」に作る余白。枠線(ボーダー)から中のコンテンツまでの距離を調整します。

プログラミング未経験の方には、「一軒家」をイメージすると分かりやすいでしょう。marginは「隣の家との境界線(庭や道路)」であり、paddingは「家の中の壁から家具までのスペース」のようなものです。この違いを理解すると、要素が重なって見えたり、窮屈に感じたりする問題を簡単に解決できるようになります。

初心者向け:marginとpaddingの見た目の違い

実際に背景色がついたボックスで比較してみましょう。marginを広げると「ボックス自体が移動」し、paddingを広げると「ボックスが大きく」なるのがわかります。


<style>
    .base-box {
        background-color: #e3f2fd;
        border: 2px solid #2196f3;
        display: inline-block;
        width: 200px;
    }
    .margin-sample {
        margin: 40px; /* 外側に余白 */
    }
    .padding-sample {
        padding: 40px; /* 内側に余白 */
    }
</style>

<div class="base-box margin-sample">
    margin:外側に余白があるため、周りにスペースができます。
</div>

<div class="base-box padding-sample">
    padding:内側に余白があるため、中身がゆったりします。
</div>
ブラウザ表示

このように、背景色や枠線がある要素を扱うときは特に注意が必要です。「枠線の外を広げたいのか、中を広げたいのか」という視点を持つことが、CSSマスターへの第一歩となります。

2. marginとpaddingを図でイメージしてみよう

2. marginとpaddingを図でイメージしてみよう
2. marginとpaddingを図でイメージしてみよう

以下のようにイメージすると分かりやすいです。

margin(外側の余白) → 要素と他の要素との間隔を広げる。

padding(内側の余白) → 要素の中の文字や画像と、枠線(border)の間隔を広げる。

つまり、marginは“要素の外側”のスペース、paddingは“要素の内側”のスペースです。

3. 実際にCSSでmarginとpaddingを使ってみよう

3. 実際にCSSでmarginとpaddingを使ってみよう
3. 実際にCSSでmarginとpaddingを使ってみよう

次のコードを見てください。同じボックスに対して、marginとpaddingを設定しています。


<style>
.box {
    background-color: lightblue;
    border: 2px solid blue;
    margin: 20px;
    padding: 20px;
}
</style>

<div class="box">これはボックスの中のテキストです。</div>
ブラウザ表示

上のコードでは、青い枠線の外側にあるスペースが margin、枠線の内側で文字の周りにあるスペースが padding です。

4. marginとpaddingの方向を指定する方法

4. marginとpaddingの方向を指定する方法
4. marginとpaddingの方向を指定する方法

CSSでは、marginやpaddingを上下左右それぞれ別々に指定することもできます。


<style>
.box2 {
    background-color: lightgreen;
    border: 2px solid green;
    margin-top: 30px;
    margin-bottom: 10px;
    padding-left: 40px;
    padding-right: 10px;
}
</style>

<div class="box2">上下左右で余白を変えてみましょう。</div>
ブラウザ表示

このように、margin-top(上の余白)、margin-bottom(下の余白)、padding-left(左の余白)など、方向を指定するプロパティを使えば、細かい調整が可能です。

5. marginとpaddingを同時に使うときの注意点

5. marginとpaddingを同時に使うときの注意点
5. marginとpaddingを同時に使うときの注意点

marginとpaddingを同時に使うときは、どちらの余白がどこに影響しているかを意識することが大切です。

たとえば、ボックス同士の間隔を広げたいならmarginを使い、ボックスの中で文字をゆったり見せたいならpaddingを使います。

また、marginは「重なって消える」ことがあるので注意が必要です。これを「マージンの相殺(そうさい)」と呼びます。

特に、上下の要素同士でmarginを設定したときに起きやすいので、思ったより間が狭くなることがあります。

6. marginとpaddingのショートハンド(まとめ書き)

6. marginとpaddingのショートハンド(まとめ書き)
6. marginとpaddingのショートハンド(まとめ書き)

それぞれの方向をひとつひとつ書かなくても、次のように一括で指定する方法があります。


<style>
.box3 {
    background-color: pink;
    border: 2px solid red;
    margin: 10px 20px 30px 40px; /* 上 右 下 左 の順 */
    padding: 5px 15px 25px 35px; /* 上 右 下 左 の順 */
}
</style>

<div class="box3">ショートハンドで余白を設定しています。</div>
ブラウザ表示

上のように4つの値を指定する場合は、上・右・下・左の順番で設定します。2つや3つの値を指定した場合も自動的にそれぞれの方向に適用されるルールがあります。

7. marginとpaddingを使いこなすコツ

7. marginとpaddingを使いこなすコツ
7. marginとpaddingを使いこなすコツ

実際のWebデザインでは、marginは「要素と要素の距離」を調整するために使い、paddingは「要素の中の見やすさ」を整えるために使います。

たとえば、ボタンの内側を広く見せたいときはpaddingを増やし、ボタン同士の間隔を広げたいときはmarginを増やします。


<style>
button {
    background-color: orange;
    color: white;
    border: none;
    padding: 10px 20px;
    margin: 10px;
}
</style>

<button>ボタン1</button>
<button>ボタン2</button>
ブラウザ表示

この例では、paddingによってボタンの中の文字がゆったりし、marginによってボタン同士の間隔が広くなっています。

8. まとめ:marginとpaddingの違いを意識して使おう

8. まとめ:marginとpaddingの違いを意識して使おう
8. まとめ:marginとpaddingの違いを意識して使おう

ここまで学んだように、CSSのmarginとpaddingはどちらも余白を作りますが、役割は異なります。

  • marginは“外側”のスペースを作る
  • paddingは“内側”のスペースを作る

この2つを上手に使い分けることで、見た目が整い、読みやすい美しいWebデザインを作ることができます。特に初心者のうちは、marginは外、paddingは中、と覚えておくと理解しやすいですよ。

2026年最新 スキルアップ・実践セミナー

【60分集中】Flexboxを完全攻略!最新CSS3で「崩れない・迷わない」モダンUI構築セミナー

「魅せる力」をコードで実現。CSS3でモダンWebデザインのプロトタイピングを。

本講座では、単に色を変えるだけではなく、「ユーザーを迷わせないUIデザイン」「崩れないレイアウト設計」の本質を学びます。最新のCSS3とモダンなレイアウト手法を通じて、プロの現場で通用する「美しさと機能性を両立した実装力」を最短距離で習得します。

具体的なワークショップ内容と環境

【つくるもの】
HTMLで作成した骨組みに対し、商用サイトでも採用される「スタイリッシュなカード型UI」や「レスポンシブなナビゲーション」を構築します。色の選定基準や余白(ホワイトスペース)の黄金比など、デザインの理論をコードに落とし込む工程を体験してください。

【開発環境】
フロントエンド開発の標準であるVisual Studio Code (VS Code)を継続使用。CSSの記述を効率化するプラグインや、ブラウザのデベロッパーツール(検証機能)を駆使して、リアルタイムでデザインを微調整するプロのワークフローを再現します。

この60分で得られる3つの技術資産

1. 現代のデファクトスタンダード「Flexbox」

要素の横並びや中央揃えを自由自在に操り、どんなデバイスでも崩れないレスポンシブな配置術を完全理解します。

2. メンテナンス性を高めるCSS設計の基礎

後から修正しやすい「壊れにくいコード」の書き方を伝授。プロの現場で必須となる命名規則の考え方を学びます。

3. パフォーマンスと美しさの両立

画像の最適化や軽量な装飾技法など、ページの表示速度を落とさずに高級感のある演出を行うテクニックを習得します。

※本講座は、HTMLの基礎を終えた後のステップアップ講座です。Webデザイナー、UIデザイナー、フロントエンドエンジニアへの道を切り開く「魅せる技術」を、モクモク独自のパーソナル指導で着実に定着させます。

【60分集中】Flexboxを完全攻略!最新CSS3で「崩れない・迷わない」モダンUI構築セミナー

リラックスしながら、学ぶことが大切です。しっかりと基礎を理解しましょう!

各回少人数・マンツーマン形式で徹底サポート

このセミナーの詳細・お申し込みはこちら
カテゴリの一覧へ
新着記事
New1
CSS
CSSのcolumn-countを完全ガイド!初心者でもわかる複数列レイアウトの作り方
New2
CSS
CSSのz-indexとposition完全ガイド!初心者でもわかる要素を重ねる方法
New3
Bootstrap
Bootstrapオフキャンバス入門:.offcanvasと.offcanvas-start・end・top・bottomの基本をやさしく解説
New4
CSS
CSSのoverflowプロパティ完全ガイド!初心者でもわかるvisible・hidden・scroll・autoの違い
人気記事
No.1
Java&Spring記事人気No1
CSS
CSSで文字の間隔を調整する方法!初心者でもわかるletter-spacingとword-spacingの使い方
No.2
Java&Spring記事人気No2
CSS
CSSで要素のサイズを自動調整!autoとfit-contentの使い方
No.3
Java&Spring記事人気No3
CSS
CSSのmarginとpaddingの違いとは?初心者でもわかるボックス間のスペース調整の基本
No.4
Java&Spring記事人気No4
CSS
CSSのoverflowプロパティ完全ガイド!初心者でもわかるvisible・hidden・scroll・autoの違い
No.5
Java&Spring記事人気No5
HTML
HTMLのliタグとは?初心者でもわかるul・ol内での正しい役割を完全解説
No.6
Java&Spring記事人気No6
CSS
CSSの文字色と背景色をやさしく解説!初心者でもわかる基本の設定方法
No.7
Java&Spring記事人気No7
Bootstrap
Bootstrap Iconsのライセンスと商用利用の注意点【著作権と表記を初心者向けに解説】
No.8
Java&Spring記事人気No8
CSS
CSSの状態によるセレクタ完全ガイド!初心者でもわかる:checkedと:disabledの使い方