カテゴリ: Bootstrap 更新日: 2026/01/06

Bootstrapグリッドシステム入門!rowとcolの12分割を徹底解説

グリッド入門:rowとcolの仕組み・12分割の考え方を図解で理解
グリッド入門:rowとcolの仕組み・12分割の考え方を図解で理解

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

生徒

「Bootstrapで、画面を左右に分けて文字や画像を並べたいのですが、どうすればいいですか?」

先生

「それには『グリッドシステム』という仕組みを使います。画面を縦の列で区切って、パズルのように配置していく方法ですよ。」

生徒

「パズルですか!難しそうに見えますが、初心者でもできますか?」

先生

「大丈夫です!『row(行)』と『col(列)』、そして『12分割』という数字のルールさえ覚えれば、自由自在にレイアウトが作れるようになります。」

1. グリッドシステムとは?画面を整理する魔法の線

1. グリッドシステムとは?画面を整理する魔法の線
1. グリッドシステムとは?画面を整理する魔法の線

Bootstrap(ブートストラップ)のグリッドシステムとは、ウェブサイトの画面を透明な「格子(グリッド)」で区切り、その線に沿って文字や画像をきれいに整列させる仕組みのことです。

プログラミング未経験の方に例えると、学校の「時間割表」や「原稿用紙」をイメージしてください。升目があるからこそ、文字を真っ直ぐ、バランスよく書くことができますよね。ウェブデザインも同じで、真っ白なキャンバスに闇雲に配置するのではなく、このグリッドというガイドラインに沿って配置することで、プロのような美しいレイアウトが完成します。

さらに、このシステムを使えば「パソコンでは3列、スマホでは1列」といった、画面サイズに合わせた自動調整(レスポンシブデザイン)も簡単に行えるようになります。

2. rowとcolの基本!「行」と「列」の親子関係

2. rowとcolの基本!「行」と「列」の親子関係
2. rowとcolの基本!「行」と「列」の親子関係

グリッドシステムを理解するための第一歩は、row(ロウ)col(コル)という2つの言葉を覚えることです。これは必ず「セット」で使います。

  • row(行): 横方向の「一行」を意味します。データの入れ物(コンテナ)のような役割です。
  • col(列): rowの中に入る「縦のブロック」です。この中に実際の文字や画像を入れます。

ルールとして、colは必ずrowのすぐ内側に入れなければなりません。例えるなら、rowは「お弁当箱の外枠」、colは「中のおかずを分ける仕切り」です。仕切りだけではお弁当は成立しませんし、外枠がないと中身がバラバラになってしまいますよね。この親子関係がレイアウトの基本となります。

3. 12分割の考え方!数字で幅を決めよう

3. 12分割の考え方!数字で幅を決めよう
3. 12分割の考え方!数字で幅を決めよう

Bootstrapの最もユニークなルールが、「画面の横幅を12等分して考える」というものです。なぜ12なのでしょうか? それは、12という数字が「2でも3でも4でも6でも割り切れる」という非常に便利な数字だからです。

この「12」という持ち分を、それぞれのcolにどう分け与えるかで幅が決まります。

  • 半分ずつ(2列): 6 + 6 = 12
  • 3等分(3列): 4 + 4 + 4 = 12
  • 4等分(4列): 3 + 3 + 3 + 3 = 12

このように、合計が12になるように数字を指定するだけで、複雑な計算をせずに画面の幅を分割できるのです。もし合計が12を超えてしまうと、入りきらなかったブロックは自動的に下の行へ回り込みます。

4. 実際に書いてみよう!2等分と3等分のレイアウト

4. 実際に書いてみよう!2等分と3等分のレイアウト
4. 実際に書いてみよう!2等分と3等分のレイアウト

それでは、具体的にHTMLコードでどのように書くか見てみましょう。col-6と書けば「12個あるうちの6個分(つまり半分)」の幅になります。背景に色をつけて分かりやすくしたサンプルを用意しました。


<div class="container text-center">
    <div class="row mb-3">
        <div class="col-6 bg-primary text-white p-3">幅6(半分)</div>
        <div class="col-6 bg-secondary text-white p-3">幅6(半分)</div>
    </div>

    <div class="row">
        <div class="col-4 bg-success text-white p-3">幅4(1/3)</div>
        <div class="col-4 bg-info text-white p-3">幅4(1/3)</div>
        <div class="col-4 bg-warning text-dark p-3">幅4(1/3)</div>
    </div>
</div>
ブラウザ表示

5. 左右非対称なレイアウトも自由自在

5. 左右非対称なレイアウトも自由自在
5. 左右非対称なレイアウトも自由自在

12分割のルールを使えば、必ずしも同じ幅に分ける必要はありません。例えば、「左側に細いメニュー、右側に広いメインコンテンツ」というよくあるレイアウトも、数字を変えるだけで一瞬で作れます。

「左は3、右は9」というふうに合計を12に調整すれば、バランスの良い非対称なデザインになります。パソコン操作に慣れていない方でも、足し算さえできればレイアウトが組めるのがBootstrapの凄いところです。


<div class="container">
    <div class="row">
        <div class="col-3 bg-light border p-3">メニュー(幅3)</div>
        <div class="col-9 bg-white border p-3">メイン記事(幅9)</div>
    </div>
</div>
ブラウザ表示

6. 数字を書かない「自動幅」の設定

6. 数字を書かない「自動幅」の設定
6. 数字を書かない「自動幅」の設定

「いちいち計算するのが面倒!」という時に便利なのが、数字を省略して単に col とだけ書く方法です。これを「オートレイアウト」と呼びます。

row の中に col を3つ入れると、Bootstrapが自動的に「あ、3等分したいんだな」と判断して、幅を均等に割り振ってくれます。2つなら半分ずつ、5つなら5等分です。きっちり計算したくないけれど、とりあえず綺麗に並べたいという時に非常に役立つ時短テクニックです。


<div class="container">
    <div class="row">
        <div class="col bg-danger text-white p-3 border">自動</div>
        <div class="col bg-danger text-white p-3 border">自動</div>
        <div class="col bg-danger text-white p-3 border">自動</div>
        <div class="col bg-danger text-white p-3 border">自動</div>
    </div>
</div>
ブラウザ表示

7. ガター(溝)とは?ブロック間の隙間を理解する

7. ガター(溝)とは?ブロック間の隙間を理解する
7. ガター(溝)とは?ブロック間の隙間を理解する

グリッドシステムで配置したブロック同士をよく見ると、少しだけ隙間が空いていることに気づくはずです。この隙間のことをガター(Gutter)と呼びます。日本語では「溝」という意味ですね。

もしこの隙間がないと、文字と文字がくっついてしまい、非常に読みづらくなってしまいます。Bootstrapは最初からこのガターを設定してくれているので、何も意識しなくても読みやすいレイアウトになります。もし隙間をなくしたい、あるいはもっと広げたいという場合は、専用の命令(g-0やg-5など)がありますが、まずは「最初から良い感じの隙間があるんだな」と理解しておくだけで大丈夫です。

8. 複数のrowを使って縦に並べる

8. 複数のrowを使って縦に並べる
8. 複数のrowを使って縦に並べる

1行目が終わったら、2行目、3行目と積み重ねていくことで、ウェブサイト全体の形が出来上がります。一つの container の中に複数の row を入れることで、段落のようにセクションを分けていくことができます。

「上の段は画像が3つ並んでいて、下の段は大きな文章がある」といった構成も、この rowcol の組み合わせを積み木のように重ねていくだけで作れます。まずは頭の中で「ここは横に何個並んでいるかな?」と考え、それを rowcol-数字 で表現する練習をしてみましょう。


<div class="container">
    <div class="row mb-2">
        <div class="col-12 bg-dark text-white p-2">ヘッダーエリア</div>
    </div>
    <div class="row">
        <div class="col-4 bg-light border p-4">
            <img src="/img/sample120-120.jpg" class="img-fluid" alt="見本">
        </div>
        <div class="col-8 bg-light border p-4">説明文がここに入ります。</div>
    </div>
</div>
ブラウザ表示

9. グリッドシステムを使いこなすためのヒント

9. グリッドシステムを使いこなすためのヒント
9. グリッドシステムを使いこなすためのヒント

最後に、初心者が迷いやすいポイントをまとめます。colの中にさらに row を入れる「入れ子」というテクニックもありますが、最初は混乱しやすいので避けましょう。まずはシンプルな「1つのrowに合計12になるようにcolを並べる」という形を完璧にマスターすることが大切です。

また、数字を指定しない col と数字を指定する col-4 などを混ぜて使うこともできますが、慣れないうちはどちらかに統一したほうが、思い通りの幅になりやすいです。パズルを解くように楽しみながら、色々な数字の組み合わせを試してみてくださいね!

※この記事では、基本的なレイアウトの仕組みに集中するため、画面サイズごとに幅を変える「ブレークポイント」の詳細については次回の記事で詳しく解説します。

カテゴリの一覧へ
新着記事
New1
Bootstrap
Bootstrap CDNの使い方を完全解説!初心者でもわかる読み込み順とSRIとdeferの設定
New2
Bootstrap
Bootstrapの自動レイアウトと比率指定を完全解説!.colと.col-6の使い分けを初心者向けにやさしく説明
New3
Bootstrap
Bootstrap 5 のカラーと背景色を完全ガイド!初心者向け色の使い分け解説
New4
Bootstrap
Bootstrap 5 の余白(margin / padding)ユーティリティ完全ガイド【mb-3など】
人気記事
No.1
Java&Spring記事人気No1
CSS
CSSグリッドレイアウト完全入門!display: grid の基本と使い方を初心者向けにやさしく解説
No.2
Java&Spring記事人気No2
CSS
CSSの複数セレクタ指定を完全解説!初心者でもわかるカンマ区切りの使い方
No.3
Java&Spring記事人気No3
CSS
CSSで要素のサイズを自動調整!autoとfit-contentの使い方
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フレックスボックス完全解説|Gridとの違いとFlexboxが得意なレイアウトパターンを初心者向けに理解しよう
No.8
Java&Spring記事人気No8
CSS
CSS Flexbox入門!display: flexの基本と適用方法を初心者向けに解説