カテゴリ: 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
CSS
CSS Gridテンプレート集!よく使うWebレイアウトの作り方
New2
HTML
HTML head要素とは?meta・titleの役割と基本を解説
New3
Bootstrap
Bootstrap固定比率カラム完全ガイド!.col-6・.col-md-4の使い方とベストプラクティスを初心者向けに解説
New4
CSS
CSS Gridとメディアクエリで作る!レスポンシブデザイン完全入門
人気記事
No.1
Java&Spring記事人気No1
CSS
CSSの入れ子構造セレクタ完全ガイド!初心者でもわかる書き方と使い方
No.2
Java&Spring記事人気No2
HTML
HTMLでできること・できないこと|初心者が迷う点を整理
No.3
Java&Spring記事人気No3
CSS
CSS Gridの配置を視覚的にデザイン!grid-template-areasの設計方法
No.4
Java&Spring記事人気No4
CSS
CSSの文字色と背景色の組み合わせで読みやすさアップ!初心者でもわかる可読性の改善方法
No.5
Java&Spring記事人気No5
CSS
CSSで要素のサイズを自動調整!autoとfit-contentの使い方
No.6
Java&Spring記事人気No6
Bootstrap
Bootstrap5グリッドとは?12分割の基本とrow・col・gutterを初心者向けにやさしく解説
No.7
Java&Spring記事人気No7
HTML
HTML html/head/bodyタグの役割|文書構造の基本を整理
No.8
Java&Spring記事人気No8
HTML
HTML文書構造とは?ページ構造とアウトライン設計の基本を解説