カテゴリ: CSS 更新日: 2025/11/12

CSSのマージンを完全ガイド!初心者でもわかるボックス間の余白調整の方法

複数ボックス間の余白調整に便利なマージンの使い方
複数ボックス間の余白調整に便利なマージンの使い方

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

生徒

「先生、ホームページを作っていると、ボックス同士がくっついて見づらくなることがあります。どうすればいいんですか?」

先生

「とても良い質問ですね。CSSでは、ボックス同士の間に“余白”を作るためにmargin(マージン)という仕組みがあります。」

生徒

「マージンって聞いたことありますけど、どうやって使うんですか?」

先生

「では、実際にCSSのマージンの基本から見ていきましょう。これを覚えると、ボックスの間隔を自由に調整できるようになりますよ。」

1. マージンとは?CSSで作るボックスの外側の余白

1. マージンとは?CSSで作るボックスの外側の余白
1. マージンとは?CSSで作るボックスの外側の余白

マージン(margin)とは、HTML要素(ボックス)の外側にできる余白(すきま)のことです。簡単に言うと、「ボックスとボックスの間の距離」を決めるためのスペースです。

たとえば、名刺をテーブルに並べるときに、1枚1枚の間にすきまを作るようなイメージです。マージンを使えば、ボックスが窮屈に見えないように調整できます。


<style>
    div {
        border: 2px solid #333;
        margin: 20px;
        padding: 10px;
    }
</style>

<div>1つ目のボックス</div>
<div>2つ目のボックス</div>
ブラウザ表示

このように、margin: 20px;と書くと、ボックスの外側に20ピクセル分の余白が作られます。

2. マージンの方向を指定して調整する方法

2. マージンの方向を指定して調整する方法
2. マージンの方向を指定して調整する方法

マージンは、上下左右それぞれの方向に設定できます。

  • margin-top:上の余白
  • margin-right:右の余白
  • margin-bottom:下の余白
  • margin-left:左の余白

たとえば、上だけ広げたい場合はmargin-topを使います。


<style>
    p {
        border: 1px solid #666;
        margin-top: 30px;
    }
</style>

<p>上にだけ余白を作る例です。</p>
ブラウザ表示

このように方向を指定すれば、細かくデザインの調整ができます。

3. 4方向のマージンをまとめて指定する書き方

3. 4方向のマージンをまとめて指定する書き方
3. 4方向のマージンをまとめて指定する書き方

マージンは、4つの値をまとめて一度に指定することもできます。

書き方のルールは以下の通りです。

  • 1つの値:すべて同じ余白(例:margin: 20px;
  • 2つの値:上下・左右(例:margin: 20px 10px;
  • 3つの値:上・左右・下(例:margin: 20px 10px 5px;
  • 4つの値:上・右・下・左(時計回り)(例:margin: 10px 20px 30px 40px;

<style>
    div {
        border: 2px solid #666;
        margin: 10px 20px 30px 40px;
        padding: 10px;
    }
</style>

<div>上10px 右20px 下30px 左40pxのマージン</div>
ブラウザ表示

最初は少し覚えにくいですが、「上から時計回りに設定」と覚えると簡単です。

4. マージンが重なってしまう「マージンの相殺」に注意

4. マージンが重なってしまう「マージンの相殺」に注意
4. マージンが重なってしまう「マージンの相殺」に注意

実は、マージンを設定するときに少しだけ注意が必要です。上下にあるボックス同士のマージンは、重なって(相殺されて)しまうことがあります。

例えば、上のボックスにmargin-bottom: 20px;、下のボックスにmargin-top: 30px;がある場合、間のすきまは20+30=50pxではなく、大きい方の30pxだけになります。


<style>
    .box1 {
        border: 2px solid blue;
        margin-bottom: 20px;
    }
    .box2 {
        border: 2px solid red;
        margin-top: 30px;
    }
</style>

<div class="box1">上のボックス</div>
<div class="box2">下のボックス</div>
ブラウザ表示

このような現象を「マージンの相殺(margin collapse)」と呼びます。もし思ったより余白が狭いと感じたら、この影響を疑ってみましょう。

5. ボックス間の余白を調整して見やすくするコツ

5. ボックス間の余白を調整して見やすくするコツ
5. ボックス間の余白を調整して見やすくするコツ

マージンを使うときは、見た目のバランスを意識することが大切です。以下のポイントを意識するときれいに整います。

  • 段落と段落の間に同じマージンを設定する
  • セクションごとに余白を多めに取る
  • 上のマージンだけでなく下のマージンも調整してバランスを取る

<style>
    .content-box {
        border: 2px solid #555;
        padding: 10px;
        margin-bottom: 20px;
    }
</style>

<div class="content-box">サービス紹介</div>
<div class="content-box">お客様の声</div>
<div class="content-box">お問い合わせ</div>
ブラウザ表示

こうすることで、ボックス間に適度な空間ができ、読みやすく整ったデザインになります。

6. 中央に配置する便利なマージン指定「margin: 0 auto」

6. 中央に配置する便利なマージン指定「margin: 0 auto」
6. 中央に配置する便利なマージン指定「margin: 0 auto」

もうひとつ便利な使い方が、margin: 0 auto;です。これは「上下の余白は0、左右の余白は自動で調整する」という意味になります。

主にボックスを画面の中央に配置したいときに使います。


<style>
    .center-box {
        width: 200px;
        border: 2px solid #0088cc;
        margin: 0 auto;
        padding: 10px;
        text-align: center;
    }
</style>

<div class="center-box">中央に配置されたボックス</div>
ブラウザ表示

このように、簡単な指定だけでボックスを中央に表示できます。ブログのタイトルやボタンの位置調整などにもよく使われます。

7. マージンを上手に使って整ったWebデザインに

7. マージンを上手に使って整ったWebデザインに
7. マージンを上手に使って整ったWebデザインに

マージンは、ただの余白ではなくデザインを整えるための重要な道具です。文章や画像の間に適度な空間を作ることで、Webページ全体が見やすくなります。

CSSのマージンを理解すれば、ボックスの間隔を自由にコントロールでき、初心者でも簡単にプロのようなレイアウトを作れるようになります。

カテゴリの一覧へ
新着記事
New1
HTML
HTMLの歴史と進化を初心者向けに解説!HTML4からHTML5への変遷
New2
CSS
CSSセレクタの命名規則とBEMの基本を徹底解説!初心者にもやさしいCSS設計ガイド
New3
Bootstrap
Bootstrapのオフセットと並び替えを完全解説!offsetとorderで初心者でもできる柔軟レイアウト
New4
HTML
HTMLの役割とは?CSS・JavaScriptとの違いと連携を初心者向けに徹底解説
人気記事
No.1
Java&Spring記事人気No1
CSS
CSSグリッドレイアウト完全入門!display: grid の基本と使い方を初心者向けにやさしく解説
No.2
Java&Spring記事人気No2
CSS
CSSで要素のサイズを自動調整!autoとfit-contentの使い方
No.3
Java&Spring記事人気No3
CSS
CSSの複数セレクタ指定を完全解説!初心者でもわかるカンマ区切りの使い方
No.4
Java&Spring記事人気No4
CSS
CSSでテキストの折り返しを完全解説!初心者でもわかる基本と注意点
No.5
Java&Spring記事人気No5
CSS
CSSのフレックスボックスで要素を左右に寄せる方法を完全ガイド!初心者でもわかるjustify-content: space-between
No.6
Java&Spring記事人気No6
CSS
CSS Gridとは?初心者でもわかるグリッドレイアウトとフレックスとの違いをやさしく解説
No.7
Java&Spring記事人気No7
CSS
CSSの画面サイズ対応スタイル完全ガイド!初心者でもわかる相対単位の使い方
No.8
Java&Spring記事人気No8
CSS
CSSグリッド入門!grid-areaで名前付き領域を使ったレイアウトの作り方をやさしく解説