デバイス別の設定方法
ここまでの例では、「col-md-数字」というように真ん中を"md"と記述していましたが、md以外の文字列を指定することで、デバイスのサイズに応じたレイアウトを指定できます。
| 区分 |
極小サイズ (スマホ:768px未満) |
小サイズ (タブレット:768px以上) |
中サイズ (PC:992px以上) |
大サイズ (1200px以上) |
|---|---|---|---|---|
| クラス名 | .col-xs-数字 | .col-sm-数字 | .col-md-数字 | .col-lg-数字 |
|
コンテナ 最大幅 |
auto | 750px | 970px | 1170px |
|
各カラム 最大幅 |
auto | 60px | 78px | 95px |
下記のHTMLでは、PCサイズに加えスマホサイズを「col-xs-8」「col-xs-4」「col-xs-12」と指定しています。これによって、1つ目と2つ目のボックスが2対1で表示された後、3つ目のボックスが下に表示されます(Bootstrapでは、12カラムを超える場合は縦方向に積まれて表示されます)。そしてPCサイズの992pxより大きい場合には、4対4対4の均等幅で表示されます。
<!-- 行の指定 -->
<div class="row">
<!-- 1つ目(スマホ8) -->
<div class="col-md-4 col-xs-8">
<h2>Getting started</h2>
(中略)
</div>
<!-- 2つ目(スマホ4) -->
<div class="col-md-4 col-xs-4">
<h2>Get more libraries</h2>
(中略)
</div>
<!-- 3つ目(スマホ12) -->
<div class="col-md-4 col-xs-12">
<h2>Web Hosting</h2>
(中略)
</div>
</div>
デザインは小さいサイズから順に適用されます。そのため、xs(スマホ)サイズで適用したデザインはsm(タブレット)サイズにも適用されます。この例では、幅が992pxを超えたときに、md(PC)サイズのレイアウトが有効になります。
グリッドの高度な制御(並び順の変更と場所の移動)
Bootstrapのグリッドシステムでは、「col-md-pull-数字」「col-md-push-数字」「col-md-offset-数字」を指定して、カラムの場所を移動したり並び順を変えたりすることもできます。
<!-- 行の指定 -->
<div class="row">
<!-- 1つ目(右に4つ移動) -->
<div class="col-md-4 col-md-push-4">
<h2>Getting started</h2>
(中略)
</div>
<!-- 2つ目(左に4つ移動) -->
<div class="col-md-4 col-md-pull-4">
<h2>Get more libraries</h2>
(中略)
</div>
<!-- 3つ目(左に2つ分の隙間) -->
<div class="col-md-2 col-md-offset-2">
<h2>Web Hosting</h2>
(中略)
</div>
</div>
「col-md-pull-数字」はその領域を前方に移動(rightプロパティを適用)させ、「col-md-push-数字」はその領域を後方(leftプロパティを適用)に移動させます。ここでは、タグの記述順とは逆になるように1つ目のボックスと2つ目のボックスの順序を入れ替えています。「col-md-offset-数字」は、左側に隙間を入れてボックスを右に寄せる(margin-leftプロパティを適用)ことができます。もちろん、md以外のxs/sm/lbを指定してデバイス別に設定することもできます。

