![トモジのアイコン画像](https://10moji-blog.com/wp-content/uploads/2020/08/吹き出しトモジ.png)
グリッドシステムって何?
詳しく知りたい・・
本記事は、
上記のような方に向けて記事を書いています。
こんにちは、トモジです。
私はプログラミング未経験から独学で勉強して、
簡易的な動的サイト・ゲーム・サービスが作れる状態になりました。
本記事は、グリッドシステムに関して要点を
わかりやすく説明しております。
1.Bootstrapのグリッドシステムとは?
グリッドシステムとは、Bootstrapの
ページレイアウトを自在にコントロールするための
強力な仕組みになります。
グリッドシステムの考え方
グリッドシステムは、カラムというエリアを
縦に12分割して管理をします。
また、レスポンシブ(デバイスのサイズに対応)な
変化をさせることが可能です。
![グリッドシステムの説明図](https://10moji-blog.com/wp-content/uploads/2020/12/ff808e749e5cf4d731ee8f859a9c5ac1-1-1024x817.png)
![レスポンシブに関しての説明図](https://10moji-blog.com/wp-content/uploads/2020/12/a06fcc7fe73b167975d40676e2000df9-2-1024x817.png)
グリッドシステムの使い方
グリッドシステムは、div
要素にrow
クラスを作り、その中にcol
クラスを記述します。
![rowとcolの説明図](https://10moji-blog.com/wp-content/uploads/2021/01/4105d8104f36b4d8fc7581a36919ee02-1024x817.png)
![rowとcolの表示図](https://10moji-blog.com/wp-content/uploads/2020/12/59653366f4181e5800a70e26857ac075-1-1024x817.png)
グリッドシステムに関して
<body>
<div class="row">
<div class="col green">A</div>
<div class="col yellow">B</div>
<div class="col red">C</div>
</div>
</body>
.green{
background-color: green;
height: 50px;
}
.yellow{
background-color:yellow;
height: 50px;
}
.red{
background-color: red;
height: 50px;
}
グリッドシステム(カラム幅を変更)
カラム幅の変更は非常に簡単で、col-カラム数
のクラスと記述します。
![グリッドシステムの幅変更説明図](https://10moji-blog.com/wp-content/uploads/2020/12/4105d8104f36b4d8fc7581a36919ee02-1-1024x817.png)
![rowとcol(カラム幅変更)の表示図](https://10moji-blog.com/wp-content/uploads/2020/12/18c9e766379925fec8ea0d7a75cf2b6f-1-1024x817.png)
グリッドシステム(カラム幅を変更)に関して
<body>
<div class="row">
<div class="col-3 green">A</div>
<div class="col-4 yellow">B</div>
<div class="col-5 red">C</div>
</div>
</body>
.green{
background-color: green;
height: 50px;
}
.yellow{
background-color:yellow;
height: 50px;
}
.red{
background-color: red;
height: 50px;
}
グリッドシステム
(合計が12カラムではない場合)
グリッドシステムが合計12カラムではない場合に
どの様な変化が起きるのか見ていきましょう。
合計が12カラムより少ない場合
合計カラムが12より少ない場合は、
左詰めでカラム数分の表示になります。
![合計カラムが12より少ない場合](https://10moji-blog.com/wp-content/uploads/2020/12/a29753d24ea62ccb501013bb7f7c8f5f-1024x817.png)
![合計カラムが12より少ない場合](https://10moji-blog.com/wp-content/uploads/2020/12/c341c8e011b90f390c782cc4ab747c80-1-1024x817.png)
合計が12カラムより少ない
<body>
<div class="row">
<div class="col-3 green">A</div>
<div class="col-4 yellow">B</div>
</div>
</body>
.green{
background-color: green;
height: 50px;
}
.yellow{
background-color:yellow;
height: 50px;
}
合計が12カラムより多い場合
合計カラムが12より多い場合は、
12を超えるカラムから改行されます。
![合計カラムが12より多い場合](https://10moji-blog.com/wp-content/uploads/2020/12/d2276d6b2e4aeb3111ec2e89abeda137-1024x817.png)
![合計カラムが12より多い場合](https://10moji-blog.com/wp-content/uploads/2020/12/44e9a9216a5e8f3e018844f12d471a91-1-1024x817.png)
合計が12カラムより多い
<body>
<div class="row">
<div class="col-3 green">A</div>
<div class="col-4 yellow">B</div>
<div class="col-6 red">C</div>
</div>
</body>
.green{
background-color: green;
height: 50px;
}
.yellow{
background-color:yellow;
height: 50px;
}
.red{
background-color: red;
height: 50px;
}
グリッドシステムのネスト(入れ子)
グリッドシステムは、ネスト構造で
記述することも可能ですが注意が必要です。
内部のグリッドシステムは、
外部で指定した幅を12分割をして
グリッドシステムを構築します。
![ネスト構造の説明図](https://10moji-blog.com/wp-content/uploads/2020/12/b05941bc2700892fb4d81c80de05f55f-1024x817.png)
グリッドシステムのネスト
<body>
<div class="row">
<div class="col-9" style="border:solid 1px #000;">
<div class="row">
<div class="col-12 green">A1</div>
</div>
<div class="row">
<div class="col-6 green">B1</div>
<div class="col-3 yellow">B2</div>
<div class="col-3 red">B3</div>
</div>
<div class="row">
<div class="col green">C1</div>
<div class="col yellow">C2</div>
<div class="col red">C3</div>
</div>
</div>
<div class="col-3" style="border:solid 1px #000;">
<p>サイド</p>
</div>
</div>
</body>
.green{
background-color: green;
height: 50px;
border:solid 1px #000
}
.yellow{
background-color:yellow;
height: 50px;
border:solid 1px #000
}
.red{
background-color: red;
height: 50px;
border:solid 1px #000
}
サイド
レスポンシブ
レスポンシブとは、
ブレイクポイントを記述することでデバイスでの
表示設定を切り替えることができます。
以下の図がブレイクポイントになり、
横幅のサイズを変更する際に設定が対応されます。
![ブレイクポイントの図](https://10moji-blog.com/wp-content/uploads/2020/12/a9f2ba5b51dd797c60f25f49b75076e2-1024x989.png)
記述方法
![レスポンシブな設定(コード)](https://10moji-blog.com/wp-content/uploads/2020/12/9e407766598c3f111f6e26d5bbb6f4d5-1024x598.png)
![レスポンシブな設定(表示)](https://10moji-blog.com/wp-content/uploads/2020/12/dc87ce7609bdbb405fe2cc8b475bc5e0-1-1024x598.png)
レスポンシブに関して
<body>
<div class="row">
<div class="col-12 col-md-6 green">A</div>
<div class="col-6 col-md-3 yellow">B</div>
<div class="col-6 col-md-3 red">C</div>
</div>
</body>
.green{
background-color: green;
height: 50px;
}
.yellow{
background-color:yellow;
height: 50px;
}
.red{
background-color: red;
height: 50px;
}
※横幅を変更すると切り替わります
2.コンテナの設定
グリッドシステムを使用する際に、container
やcontainer-fluid
を
クラスで囲む決まりになっており
左右に余白を設けてページ中央に配置する
設定になります。
container
containerクラスは、
左右に15pxの余白と中央寄せが設定されます。
![containerのコード](https://10moji-blog.com/wp-content/uploads/2020/12/1697369a98829c11a34a9cec1bce7f32-1-1024x715.png)
![containerの説明](https://10moji-blog.com/wp-content/uploads/2020/12/container-2-1024x817.png)
containerに関して
<body>
<p>containerなし</p>
<div class="container">
<p>containerあり</p>
</div>
</body>
p{
background-color: #B0DDE0;
font-size:10px;
}
containerなし
containerあり
container-fluid
流動的コンテナを意味するcontainer-fluid
は、画面いっぱい(width: 100%)に広がる設定になります。
![container-fuild](https://10moji-blog.com/wp-content/uploads/2020/12/bbd1686f05ee2a04293d0fd5f58cc63f-1024x715.png)
![container-fuildの説明](https://10moji-blog.com/wp-content/uploads/2020/12/container-fuild-1024x817.png)
container-fluidに関して
<body>
<p>container</p>
<div class="container-fluid">
<p>container-fluidあり</p>
</div>
</body>
p{
background-color: #B0DDE0;
font-size:10px;
}
container
container-fluidあり
containerとrowの余白の関係
container
とrow
を使用すると
以下の理由で余白は0になります。
container
左右に15pxの余白が設けられるrow
領域を左右に15px広げられる
containerとcontainer-fluidの違い
containerとcontainer-fluidの大きな違いは、
画面サイズ(横幅)を変更する際に違いが出てきますので見ていきましょう。
container
containerは、
ブレイクポイントで段階的に横幅が変化します。
![ブレイクポイント(横幅)の説明図](https://10moji-blog.com/wp-content/uploads/2020/12/67641d791f0a1792c10c590f7def858e-1024x989.png)
![containerの幅に関しての説明図](https://10moji-blog.com/wp-content/uploads/2020/12/af2e71e57fcbf2dba45c9b9ddf0fd535-1024x989.png)
container-fluid
container-fluidは、
画面サイズに応じて幅に変化が起きます。
まとめ
最後にこの記事のポイントをまとめておきます。
グリッドシステム
カラム数
エリアを縦に12分割して管理記述方法
div要素にrowクラスを作り、
その中にcolクラスを記述カラム幅の変更
カラム数で管理合計カラム12以下
左詰めでカラム数分の表示合計カラム12以上
12を超えるカラムから改行して表示ネスト構造
外部カラムを12分割して表示ブレイクポイント
デバイスでの表示設定を切り替えて表示
コンテナの設定
container
左右に15pxの余白と中央寄せcontainer-fluid
画面いっぱい(width: 100%)に広がるrow
領域を左右に15px広げるcontainer
ブレイクポイントで段階的に横幅が変化container-fluid
画面サイズに応じて幅に変化