グリッドオプションの紹介 (col- col-sm- col-md- col-lg- の違い) - Bootstrap

Bootstrapのグリッドオプションについて紹介します。

Bootstrap5.x

クラス

グリッドの幅を指定するクラスには、col-(col-xs-) col-sm- col-md- col-lg- col-xl- col-xxl- の種類があります。横幅の種類と合わせて以下のクラスが用意されています。
col-col-sm-col-md-col-lg-col-xl-col-xxl-
1col-1col-sm-1col-md-1col-lg-1col-xl-1col-xxl-1
2col-2col-sm-2col-md-2col-lg-2col-xl-2col-xxl-2
3col-3col-sm-3col-md-3col-lg-3col-xl-3col-xxl-3
4col-4col-sm-4col-md-4col-lg-4col-xl-4col-xxl-4
5col-5col-sm-5col-md-5col-lg-5col-xl-5col-xxl-5
6col-6col-sm-6col-md-6col-lg-6col-xl-6col-xxl-6
7col-7col-sm-7col-md-7col-lg-7col-xl-7col-xxl-7
8col-8col-sm-8col-md-8col-lg-8col-xl-8col-xxl-8
9col-9col-sm-9col-md-9col-lg-9col-xl-9col-xxl-9
10col-10col-sm-10col-md-10col-lg-10col-xl-10col-xxl-10
11col-11col-sm-11col-md-11col-lg-11col-xl-11col-xxl-11
12col-12col-sm-12col-md-12col-lg-12col-xl-12col-xxl-12

ブレークポイントは次の通り
クラスブレークポイントコンテナの幅
col-nn <576px None(auto)
col-sm-nn >=576px 540px
col-md-nn >=768px 720px
col-lg-nn >=992px 960px
col-xl-nn >=1200px 1140px
col-xxl-nn >=1400px 1320px

Bootstrap4.x

クラス

グリッドの幅を指定するクラスには、col- col-sm- col-md- col-lg- col-xl- の種類があります。横幅の種類と合わせて以下のクラスが用意されています。
col-col-sm-col-md-col-lg-col-xl-
1col-1col-sm-1col-md-1col-lg-1col-xl-1
2col-2col-sm-2col-md-2col-lg-2col-xl-2
3col-3col-sm-3col-md-3col-lg-3col-xl-3
4col-4col-sm-4col-md-4col-lg-4col-xl-4
5col-5col-sm-5col-md-5col-lg-5col-xl-5
6col-6col-sm-6col-md-6col-lg-6col-xl-6
7col-7col-sm-7col-md-7col-lg-7col-xl-7
8col-8col-sm-8col-md-8col-lg-8col-xl-8
9col-9col-sm-9col-md-9col-lg-9col-xl-9
10col-10col-sm-10col-md-10col-lg-10col-xl-10
11col-11col-sm-11col-md-11col-lg-11col-xl-11
12col-12col-sm-12col-md-12col-lg-12col-xl-12

ブレークポイント

グリッドオプション(xs, sm, md, lg)のブレークポイントは以下の通りです。
コンテナの最大値以下になるとグリッドの横方向の段組みが解除され、縦方向に整列します。
クラスブレークポイントコンテナの幅
col-nn <576px None(auto)
col-sm-nn >=576px 540px
col-md-nn >=768px 720px
col-lg-nn >=992px 960px
col-xl-nn >=1200px 1140px

プログラム例

コード

下記のコードを記述します。
SimpleGridOption.css
#column1{
    background-color: #ffa2a2;
}
#column2 {
    background-color: #ffa663;
}
#column3 {
    background-color: #ffe970;
}
#column4 {
    background-color: #c8ef64;
}
#column5 {
    background-color: #85f68b;
}
SimpleGridOption.html
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8" />
  <title></title>
  <link rel="stylesheet" href="Content/bootstrap.css" />
  <script src="Scripts/jquery.js"></script>
  <script src="Scripts/bootstrap.js"></script>
  <link rel="stylesheet" href="SimpleGridOption.css" />
</head>
<body>
  <div class="container-fluid">
    <div class="row">
      <div class="col-md-4" id="column1">項目1</div>
      <div class="col-md-2" id="column2">項目2</div>
      <div class="col-md-2" id="column3">項目3</div>
      <div class="col-md-2" id="column4">項目4</div>
      <div class="col-md-2" id="column5">項目5</div>
    </div>
  </div>
</body>
</html>

表示結果

上記のHTMLファイルをWebブラウザで表示します。下図のページが表示されます。 "項目1"の幅が他の列の幅の2倍で表示されています。"項目2" "項目3" "項目4" "項目5" の幅は同じで、"項目1"の幅の半分の幅で表示されています。


Webブラウザのウィンドウ幅を縮めます。それぞれの列の幅の比率は保たれたまま幅が短くなります。


ウィンドウの幅が768ピクセルより狭くなると段組みが解除され、項目が縦に並んで表示されます。

Bootstrap3.x

クラス

グリッドの幅を指定するクラスには、col- col-xs- col-sm- col-md- col-lg- の種類があります。横幅の種類と合わせて以下のクラスが用意されています。
col-col-xs-col-sm-col-md-col-lg-
1col-1col-xs-1col-sm-1col-md-1col-lg-1
2col-2col-xs-2col-sm-2col-md-2col-lg-2
3col-3col-xs-3col-sm-3col-md-3col-lg-3
4col-4col-xs-4col-sm-4col-md-4col-lg-4
5col-5col-xs-5col-sm-5col-md-5col-lg-5
6col-6col-xs-6col-sm-6col-md-6col-lg-6
7col-7col-xs-7col-sm-7col-md-7col-lg-7
8col-8col-xs-8col-sm-8col-md-8col-lg-8
9col-9col-xs-9col-sm-9col-md-9col-lg-9
10col-10col-xs-10col-sm-10col-md-10col-lg-10
11col-11col-xs-11col-sm-11col-md-11col-lg-11
12col-12col-xs-12col-sm-12col-md-12col-lg-12

ブレークポイント

グリッドオプション(xs, sm, md, lg)のブレークポイントは以下の通りです。
コンテナの最大値以下になるとグリッドの横方向の段組みが解除され、縦方向に整列します。
クラスデバイスの幅コンテナの最大幅
col-xs-* <768px None(auto)
col-sm-* >=768px 750px
col-md-* >=992px 970px
col-lg-* >=1200px 1170px

プログラム例

コード

下記のコードを記述します。
SimpleGridOption.css
#column1{
    background-color: #ffa2a2;
}
#column2 {
    background-color: #ffa663;
}
#column3 {
    background-color: #ffe970;
}
#column4 {
    background-color: #c8ef64;
}
#column5 {
    background-color: #85f68b;
}
SimpleGridOption.html
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8" />
  <title></title>
  <link rel="stylesheet" href="Content/bootstrap.css" />
  <script src="Scripts/jquery.js"></script>
  <script src="Scripts/bootstrap.js"></script>
  <link rel="stylesheet" href="SimpleGridOption.css" />
</head>
<body>
  <div class="container-fluid">
    <div class="row">
      <div class="col-md-4" id="column1">項目1</div>
      <div class="col-md-2" id="column2">項目2</div>
      <div class="col-md-2" id="column3">項目3</div>
      <div class="col-md-2" id="column4">項目4</div>
      <div class="col-md-2" id="column5">項目5</div>
    </div>
  </div>
</body>
</html>

表示結果 : col-* の場合

コンテナ部分のタグが下記の場合の表示結果です。
  <div class="container-fluid">
    <div class="row">
      <div class="col-4" id="column1">項目1</div>
      <div class="col-2" id="column2">項目2</div>
      <div class="col-2" id="column3">項目3</div>
      <div class="col-2" id="column4">項目4</div>
      <div class="col-2" id="column5">項目5</div>
    </div>
  </div>

Webブラウザでページを表示します。下図のページが表示されます。


Webブラウザのウィンドウ幅を縮めます。それぞれの列の幅の比率は保たれたまま幅が短くなります。


幅が狭くなっても比率は維持された状態のままです。

表示結果 : col-sm-* の場合

コンテナ部分のタグが下記の場合の表示結果です。
  <div class="container-fluid">
    <div class="row">
      <div class="col-sm-4" id="column1">項目1</div>
      <div class="col-sm-2" id="column2">項目2</div>
      <div class="col-sm-2" id="column3">項目3</div>
      <div class="col-sm-2" id="column4">項目4</div>
      <div class="col-sm-2" id="column5">項目5</div>
    </div>
  </div>

Webブラウザでページを表示します。下図のページが表示されます。


ウィンドウの幅を縮めると、枠の幅の比率が維持されたまま横幅が短くなります。


さらに横幅を縮め、横幅が540ピクセル以下になると横方向の段組みが解除され枠が縦に整列します。


表示結果 : col-md-* の場合

コンテナ部分のタグが下記の場合の表示結果です。
  <div class="container-fluid">
    <div class="row">
      <div class="col-md-4" id="column1">項目1</div>
      <div class="col-md-2" id="column2">項目2</div>
      <div class="col-md-2" id="column3">項目3</div>
      <div class="col-md-2" id="column4">項目4</div>
      <div class="col-md-2" id="column5">項目5</div>
    </div>
  </div>

Webブラウザでページを表示します。下図のページが表示されます。


ウィンドウの幅を縮めると、枠の幅の比率が維持されたまま横幅が短くなります。


ウィンドウの幅が720ピクセル以下になると、横方向の段組みが解除され、枠が縦方向に整列します。


表示結果 : col-lg-* の場合

コンテナ部分のタグが下記の場合の表示結果です。
  <div class="container-fluid">
    <div class="row">
      <div class="col-lg-4" id="column1">項目1</div>
      <div class="col-lg-2" id="column2">項目2</div>
      <div class="col-lg-2" id="column3">項目3</div>
      <div class="col-lg-2" id="column4">項目4</div>
      <div class="col-lg-2" id="column5">項目5</div>
    </div>
  </div>

Webブラウザでページを表示します。下図のページが表示されます。


ウィンドウの幅を縮めると、枠の幅の比率が維持されたまま横幅が短くなります。


ウィンドウの幅が960ピクセル以下になると、横方向の段組みが解除され、枠が縦方向に整列します。

表示結果 : col-xl-* の場合

コンテナ部分のタグが下記の場合の表示結果です。
  <div class="container-fluid">
    <div class="row">
      <div class="col-xl-4" id="column1">項目1</div>
      <div class="col-xl-2" id="column2">項目2</div>
      <div class="col-xl-2" id="column3">項目3</div>
      <div class="col-xl-2" id="column4">項目4</div>
      <div class="col-xl-2" id="column5">項目5</div>
    </div>
  </div>

Webブラウザでページを表示します。下図のページが表示されます。


ウィンドウの幅を縮めると、枠の幅の比率が維持されたまま横幅が短くなります。


ウィンドウの幅が1140ピクセル以下になると、横方向の段組みが解除され、枠が縦方向に整列します。

複数のグリッドオプションを混ぜて記述した場合の動作

コンテナ部分のタグを下記にした場合の表示結果です。
smとmdの2種類のグリッドオプションが混ざった記述になっています。
  <div class="container-fluid">
    <div class="row">
      <div class="col-sm-4" id="column1">項目1</div>
      <div class="col-md-2" id="column2">項目2</div>
      <div class="col-md-2" id="column3">項目3</div>
      <div class="col-md-2" id="column4">項目4</div>
      <div class="col-md-2" id="column5">項目5</div>
    </div>
  </div>

Webブラウザでページを表示します。下図のページが表示されます。


ウィンドウの幅を縮めると、枠の幅の比率が維持されたまま横幅が短くなります。


mdのグリッドオプションの閾値 720ピクセル以下になると段組みが右側の4列の段組みが解除され、縦に並びます。一方でいちばん左の列はまだ段組みは解除されないため、ウィンドウ幅の3分の1の幅の枠としてページの左に表示された状態となります。


さらにウィンドウの幅を縮め、ページの幅が540ピクセル以下になると、一番左の列も段組みが解除されすべての枠が縦に整列した状態で表示されます。



グリッドオプションの違いによる動作の違いが確認できました。

著者
iPentecのメインデザイナー
Webページ、Webクリエイティブのデザインを担当。PhotoshopやIllustratorの作業もする。
掲載日: 2018-09-07
iPentec all rights reserverd.