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

CSSの中央寄せを完全ガイド!初心者でもわかるflex・grid・marginの使い方

中央寄せのあらゆる方法(flex・grid・marginなど)
中央寄せのあらゆる方法(flex・grid・marginなど)

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

生徒

「先生、Webページで文字やボックスを中央に配置しているサイトをよく見ますけど、あれってどうやって作るんですか?」

先生

「良いところに気づきましたね。実は、CSSには『中央寄せ』を実現するためのいくつかの方法があります。代表的なのはflex、grid、そしてmarginを使う方法です。」

生徒

「flexやgridって聞いたことはあるんですけど、正直よく分かりません…。」

先生

「安心してください。とてもシンプルな考え方なので、これから一つずつ丁寧に見ていきましょう!」

1. CSSで中央寄せをする方法とは?基礎知識を解説

1. CSSで中央寄せをする方法とは?基礎知識を解説
1. CSSで中央寄せをする方法とは?基礎知識を解説

Webデザインにおいて、ボタンや画像、文章を画面の真ん中に配置する「中央寄せ」は、最も頻繁に使うテクニックの一つです。要素を中央に置くだけで、情報の優先順位が明確になり、スマートフォンでもPCでも見やすい洗練されたレイアウトになります。

2026年現在のモダンなWeb制作では、単に「真ん中に寄せる」だけでなく、レスポンシブ対応(画面サイズに合わせた自動調整)を考慮した手法が主流です。プログラミング未経験の方でも扱いやすい、代表的な3つの手法を比較してみましょう。

手法 主な特徴・使いどころ
Flexbox もっとも汎用的。複数の要素を並べたり、上下左右を自由に調整できる。
CSS Grid 最新の書き方。わずか2行のコードで「完全な中央」を作れる。
Margin 古くからの定番。特定の幅を持つボックスを横方向に寄せたい時に最適。

例えば、以下のコードは最もシンプルな「箱の中の文字を中央に寄せる」サンプルです。まずは「親要素(外側)」に命令を出すという感覚を掴んでみましょう。


<style>
    .parent-box {
        display: flex;
        justify-content: center; /* 横方向の中央 */
        align-items: center;    /* 縦方向の中央 */
        height: 150px;
        background-color: #f8f9fa;
        border: 2px dashed #ccc;
    }
    .child-content {
        padding: 10px 20px;
        background-color: #007bff;
        color: white;
        border-radius: 5px;
    }
</style>

<div class="parent-box">
    <div class="child-content">
        中央に配置されたボタン風要素
    </div>
</div>
ブラウザ表示

このように、CSSには複数の「中央寄せ」の武器があります。初心者の方はまず「何でも中央にできるFlexbox」から覚え、慣れてきたら「コードが短いGrid」や「手軽なMargin」を使い分けるのが上達の近道です。それでは、具体的な使い道を詳しく見ていきましょう。

2. flex(フレックスボックス)を使った中央寄せ

2. flex(フレックスボックス)を使った中央寄せ
2. flex(フレックスボックス)を使った中央寄せ

初心者の方に最もおすすめな方法が、Flexbox(フレックスボックス)を使った中央寄せです。 Flexboxは、親要素(外側の箱)に「たった3行の魔法の言葉」を記述するだけで、中にある要素を自由自在に整列させることができる非常に便利な仕組みです。

プログラミング未経験の方でも、まずはこのパターンを覚えておけば、Webサイト制作の現場で困ることはありません。 縦方向と横方向、どちらも真ん中に配置する最もシンプルで確実なコードを見てみましょう。


<style>
/* 外側の親要素(コンテナ)の設定 */
.flex-container {
    display: flex;             /* flexboxを使う宣言 */
    justify-content: center;    /* 横方向の中央寄せ */
    align-items: center;        /* 縦方向の中央寄せ */
    height: 250px;              /* 高さを指定して分かりやすく */
    background-color: #f0f0f0;  /* 背景色:薄いグレー */
    border: 2px dashed #ccc;   /* 枠線 */
}

/* 内側の子要素(中身のボックス)の設定 */
.orange-box {
    width: 120px;
    height: 120px;
    background-color: #ff9800;  /* オレンジ色 */
    color: white;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    border-radius: 8px;         /* 角を丸く */
}
</style>

<div class="flex-container">
    <div class="orange-box">真ん中</div>
</div>
ブラウザ表示

上記のコードで重要なのは、親要素(.flex-container)に指定した3つのプロパティです。

  • display: flex; … 「この箱の中でflexboxのルールを使います」という合図です。
  • justify-content: center; … 中にある要素を左右(水平方向)の真ん中に移動させます。
  • align-items: center; … 中にある要素を上下(垂直方向)の真ん中に移動させます。

これまでの古い書き方では、縦の中央寄せは非常に複雑な計算が必要でしたが、Flexboxの登場により「上下左右ぴたっと真ん中」に配置することが驚くほど簡単になりました。 画像やボタン、テキストなど、どんな要素でもこの方法で中央に配置できるため、現代のWebデザインにおける「基本中の基本」と言えるテクニックです。

3. CSS Grid(グリッド)で一瞬!最も簡単な中央寄せ

3. CSS Grid(グリッド)で一瞬!最も簡単な中央寄せ
3. CSS Grid(グリッド)で一瞬!最も簡単な中央寄せ

「flexboxよりもさらにコードを短くしたい」という方におすすめなのが、CSS Grid(グリッドレイアウト)を使った方法です。Gridは本来、複雑なタイルのようなレイアウトを作るための仕組みですが、実は「たった2行」で要素を真ん中に配置できる最強の時短テクニックでもあります。

プログラミング未経験の方でも直感的に理解しやすいのが特徴で、親要素(外枠)に対して「中身を中央に置いてね」と1つ命令を出すだけで、上下左右ピッタリ真ん中に整列します。


<style>
.container-grid {
    display: grid;          /* グリッドレイアウトを有効にする */
    place-items: center;    /* 上下左右のちょうど真ん中に配置する */
    height: 200px;
    background-color: #e3f2fd; /* 薄い青色の背景 */
    border: 2px dashed #0d6efd;
}
.box {
    width: 100px;
    height: 100px;
    background-color: #ff6b6b; /* トマト色のボックス */
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
}
</style>

<div class="container-grid">
    <div class="box">中央</div>
</div>
ブラウザ表示

この方法のポイントは、place-items: center; という魔法の1行です。これだけで、子要素が何個あっても、あるいは画像やテキストであっても、自動的に領域のセンターへ導いてくれます。

最近のWeb制作現場では、この「Gridを使った中央寄せ」がその記述のシンプルさから主流になりつつあります。まずはこの形をテンプレートとして覚えておくと、レイアウト崩れに悩まされることが格段に減るはずですよ。

4. marginを使った中央寄せ(ブロック要素の配置)

4. marginを使った中央寄せ(ブロック要素の配置)
4. marginを使った中央寄せ(ブロック要素の配置)

CSSで最もポピュラーな手法の一つが、margin(マージン)プロパティを利用した中央寄せです。特に、Webサイトのレイアウトで「コンテンツ全体を画面の真ん中に置きたい」という時に非常に重宝します。

この方法は、プログラミング初心者の方が最初につまずきやすい「ブロック要素」を動かすための基本テクニックです。 使い方はとてもシンプルで、中央に寄せたい要素に対して「幅(width)」を指定し、左右の余白を「auto(自動)」に設定するだけです。


<style>
    .center-box {
        /* 中央に寄せるための必須設定 */
        width: 300px;      /* 1. 横幅を必ず決める */
        margin: 0 auto;    /* 2. 上下は0、左右を自動(auto)に設定 */
        
        /* 見た目を整えるための装飾 */
        background-color: #fce4ec;
        border: 2px solid #f06292;
        padding: 20px;
        text-align: center;
        border-radius: 8px;
    }
</style>

<div class="center-box">
    <p>margin: 0 auto; で中央寄せ</p>
    <img src="/img/sample150-100.jpg" alt="サンプル画像">
</div>
ブラウザ表示

上記のコードで重要なポイントは、margin: 0 auto;という記述です。これは「上下の余白は0、左右の余白はブラウザが自動で計算して均等に割り振る」という意味になります。

注意点として、この手法が使えるのは「width(横幅)」が指定されているブロック要素に限られます。幅が決まっていないと、要素が横いっぱいに広がってしまい、余白を作る隙間がなくなるため中央に寄りません。 また、この方法は「横方向」の中央寄せに特化しており、縦方向の中央寄せには別のテクニックが必要になる点も覚えておきましょう。

5. テキスト(文字)を中央寄せする方法

5. テキスト(文字)を中央寄せする方法
5. テキスト(文字)を中央寄せする方法

Webデザインにおいて、見出しや文章の文字を中央に揃えたい場面は非常に多くあります。箱(要素)そのものを動かすのではなく、「箱の中にある文字だけ」を中央に寄せたいときに使うのが、CSSのtext-align: center;です。

このプロパティは、指定した要素の中にある「インライン要素(テキストや画像など)」に対して効果を発揮します。プログラミング未経験の方でも、WordやExcelの「中央揃え」ボタンと同じ感覚で使えるので、まずはこの基本をマスターしましょう。


<style>
.text-box {
    width: 100%;
    border: 2px solid #5d9cec;
    padding: 30px;
    /* 文字を中央に寄せる魔法のコード */
    text-align: center;
}
.text-box p {
    color: #333;
    font-size: 18px;
}
</style>

<div class="text-box">
    <h3>中央寄せのタイトル</h3>
    <p>このブロックの中にある文字は、すべて自動的に中央に配置されます。</p>
    <img src="/img/sample150-100.jpg" alt="サンプル画像">
</div>
ブラウザ表示

上記のサンプルでは、.text-boxというクラスに対してtext-align: center;を指定しています。これにより、その中に入っている見出し(h3)や段落(p)、さらには画像(img)までもがまとめて中央に揃います。

注意点として、text-alignはブロック要素そのものを中央に寄せる力はありません。あくまで「中身のテキスト」を操作するものだと覚えておくと、レイアウト崩れを防ぐことができます。シンプルかつ強力な、Web制作に欠かせないテクニックです。

6. どの中央寄せを使えばいい?

6. どの中央寄せを使えばいい?
6. どの中央寄せを使えばいい?

ここまで紹介した方法には、それぞれ得意な場面があります。

  • flex → ボックス全体を縦横中央に寄せたいとき
  • grid → 短いコードで縦横中央に寄せたいとき
  • margin → 横方向だけ中央に寄せたいとき
  • text-align → 文字を中央に寄せたいとき

実際のWebページでは、場面によってこれらを使い分けるのがポイントです。

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でdisplayの違いを図解で理解!block・inline・inline-blockの使い方
New2
CSS
CSSのwidthとheightの基本!初心者でもわかる単位の使い分け
New3
CSS
z-indexによるバグを防ぐためのデバッグ方法完全ガイド!初心者向け解決テクニック
New4
HTML
HTML data-*属性とJavaScript連携を完全解説!datasetでカスタムデータを取得する方法
人気記事
No.1
Java&Spring記事人気No1
HTML
HTML inputタグとは?フォーム入力を担う基本要素を初心者向けに完全解説
No.2
Java&Spring記事人気No2
HTML
HTML formのaction URL設計を完全解説|送信先の考え方を初心者でも理解
No.3
Java&Spring記事人気No3
CSS
CSSで要素のサイズを自動調整!autoとfit-contentの使い方
No.4
Java&Spring記事人気No4
CSS
レイヤー管理に便利なCSS変数とSCSS変数の活用法完全ガイド!初心者向け解説
No.5
Java&Spring記事人気No5
HTML
HTMLのformタグの書き方を完全ガイド!actionとmethod属性の意味を初心者向けにやさしく解説
No.6
Java&Spring記事人気No6
CSS
CSSのnth-child()を完全攻略!特定の順番にスタイルを当てる方法
No.7
Java&Spring記事人気No7
Bootstrap
Bootstrapで学ぶレスポンシブな並び方向の使い方完全ガイド!flex-rowとflex-columnを初心者向けにやさしく解説
No.8
Java&Spring記事人気No8
Bootstrap
Bootstrapモーダルの基本実装を完全解説!data-bs-toggleとdata-bs-targetで簡単に開閉しよう