CSS

Bootstrapのグリッドシステムの使い方その2【レスポンシブ対応】

どうも、つよぽんです!

今回も前回に引き続き、Bootstrapのグリッドシステム(Grid system)の使い方に関するお話で、今回はレスポンシブ対応したグリッドシステムの解説となります。

Bootstrapのグリッドシステムの基本的な使い方がわからない方は、まずは以下の前回記事から読むことをオススメします。

あわせて読みたい
Bootstrapのグリッドシステムの使い方その1【Grid system】BootstrapのグリッドシステムはWebページを横12個に分割して表示要素を整える機能のことです。表示パーツに応じて「パーツAはスペース6個分使う」「パーツBはスペース3個分」「パーツCはスペース3個分」のように指定することが出来ます。...

今回の記事は次のような方に向けて書きました。

想定読者
  • レスポンシブ対応って何?
  • 画面サイズに応じてグリッドシステムの1行あたりの表示件数を変更したい

今回の記事は以下の学習コンテンツ記事内のスライドを詳しく解説した記事となります。以下の記事と合わせて読むことでより理解度を深めていただけるかと思います。

あわせて読みたい
BootstrapのGridシステムを使うパート2BootstrapのGridシステムを使うとレスポンシブなページを作ることも簡単にできます。前回のGridシステムパート1で学習した知識があれば、すぐにレスポンシブなページを作ることが可能となります。...

それでは次の内容で話を進めていきます。

今回の内容
  1. レスポンシブ対応とは
  2. Bootstrapのグリッドシステムを使ったレスポンシブ対応方法

レスポンシブ対応とは

まずはじめに「レスポンシブ対応」とはわからない方もいるかと思うので、あらためてレスポンシブデザインについての説明をします。

既にレスポンシブデザインについて知っている方は、次の章「Bootstrapのグリッドシステムを使ったレスポンシブ対応方法」まで飛んでいただいて問題ありません。

さきほど「レスポンシブ対応」「レスポンシブデザイン」という言葉を使いましたが、レスポンシブ対応とはレスポンシブデザインの機能が実装されたWebページのことを指します。

そして「レスポンシブデザイン」とは、パソコンやスマートフォンなど画面サイズの大きさに応じてWebページの表示が切り替わるデザインのことを言います。

Bootstrapのグリッドシステムには、この「レスポンシブデザイン」の機能をカンタンに実装できる機能が備わっているのです。

それでは次の章でBootstrapのグリッドシステムを使ってどのようにレスポンシブ対応を行うのか解説していきます。

Bootstrapのグリッドシステムを使ったレスポンシブ対応方法

あわせて読みたい
Bootstrapのグリッドシステムの使い方その1【Grid system】BootstrapのグリッドシステムはWebページを横12個に分割して表示要素を整える機能のことです。表示パーツに応じて「パーツAはスペース6個分使う」「パーツBはスペース3個分」「パーツCはスペース3個分」のように指定することが出来ます。...

上の前回記事のおさらいになりますが、Bootstrapのグリッドシステムを使うには次の親子関係をもつ表示要素を用意する必要があります。

グリッドシステムの親子関係
  1. 1番上の親要素 : class属性値に「container」をもつ要素を用意する
  2. 2番目の親要素 : class属性値に「row」をもつ要素を用意する
  3. 3番目(1番下の要素) : class属性値に「col-[サイズ]」もしくは「col-[サイズ]-[1~12の数]」をもつ要素を用意する

上記3つの中で、Bootstrapのグリッドシステムでレスポンシブ対応を行うのに関係します。

col-[サイズ]-[1~12の数]」のうち、「サイズ」には次の4つのいずれかの値がセットできます。

サイズで利用できる値
  • sm : 576px以上
  • md : 768px以上
  • lg : 992px以上
  • xl : 1200px以上

上記4つの各サイズに関する情報は以下のドキュメントに書かれています。

Grid options

「[1~12の数]」に関しては、12分割されたスペースの内、何個分のスペースを使うかを指定します。

この[サイズ][1~12の数]の組み合わせより、例えば「col-lg2」とセットしたら、画面サイズがlg以上(992px)のときには、12分割されたスペースの内、2個分のスペースを使うという指定になります。

そしてレスポンシブ対応するためには、画面サイズに応じて表示要素に対するスペースの割当の数を変更する必要がありますが、その場合は「col-sm6」「com-md3」のように複数のクラス属性値をセットするだけです。

以下の画像は、「col-sm6」「com-md3」を実際にセットしている様子を表したものです。

クラス属性値に画面サイズに応じた値をセットするクラス属性値に画面サイズに応じた値をセットする

col-sm6」「com-md3」をセットすることにより、画面サイズがsm以上(576px以上)かつmd未満(768px未満)のときは、1つの要素につきスペース6個分が割り当てられるので、1行あたり2個の要素が表示されます。(2個 = 12 ÷ 6)

そして、画面サイズがmd以上(768px以上)のときは1つの要素につきスペースが3個割り当てられるので、1行あたり4個の要素が表示されます。(4個 = 12 ÷ 3)

指定のないsm未満(576px未満)のとき、1行あたり1つの要素が表示されるようになります。

以下のアニメーション画像は実際に「col-sm6」「com-md3」をセットしたコードを使って、画面サイズに応じて表示が切り替わる様子を表したものになります。

画面サイズに応じて1行あたりの要素数が切り替わる様子画面サイズに応じて1行あたりの要素数が切り替わる様子

上記画像内で使われているサンプルコードは以下のリンクから直接確認することが出来ます。

Gridシステムのサンプル4

このように、Bootstrapのグリッドシステムには「レスポンシブ対応」がカンタンに実現できる機能が備わっています。

まとめ

今回の話をまとめると次のとおりです。

今回のまとめ
  1. レスポンシブ対応とは、レスポンシブデザインなページを実装したWebページのこと
  2. 1つのclss属性にcol-[サイズ]-[1~12の数]の値を複数セットすることで、画面サイズに応じて12分割されたスペースの内、何個のスペースの数を割り当てるか切り替えることが出来る

今回の内容は以下の記事内のスライドの補足資料として作成しました。スライドの全部を確認したい方は以下の記事も参照して頂けたらと思います。

あわせて読みたい
BootstrapのGridシステムを使うパート2BootstrapのGridシステムを使うとレスポンシブなページを作ることも簡単にできます。前回のGridシステムパート1で学習した知識があれば、すぐにレスポンシブなページを作ることが可能となります。...
【やる気満々な方向け】学習サポートとオンライン講義やってます!

Webエンジニアになりたい人向けに、MENTAにて『【やる気満々な方向け】未経験からのWebエンジニア育成コース』というプランを用意しております。

誰向けのプラン?

こちらのプランは次のような方に向けて作られています。

プラン対象者
  1. Progateやドットインストールで一通り学習したけど、次に何をすればよいかわからない
  2. Webエンジニアになるまでの学習プランがあると助かる
  3. 学習していてわからないところが出てきたときに質問したい
  4. コードレビューして欲しい
  5. オンライン講義に参加したい
  6. 学習した内容をアウトプットした際に、フィードバックがもらえたら嬉しい
  7. おすすめの学習教材を知りたい
  8. Webフロントエンド・バックエンドを学習したい
  9. フルスタックエンジニアになりたい
  10. 文系出身で今までプログラミングをしてこなかったけど、将来Webエンジニアになりたい
  11. 将来フリーランスになることを目指している

プラン内容は?

【やる気満々な方向け】未経験からのWebエンジニア育成コース』では次のことを行っております。

プラン内容
  1. Udemyの教材や、Web白熱教室の学習コンテンツを使った学習プランの提示 (学習プランに沿って学習を進めていただきます。)
  2. 教材・学習コンテンツの課題をこなしたあとは、僕にコードレビュー依頼を投げていただくことで、コードを添削する(課題クリア後は、引き続き学習プランの内容を続けていただきます。)
  3. プラン契約者が参加するSlackグループにて質問し放題
  4. Slack内にある「アウトプットの場」チャンネルにて、学習したことをアウトプットをしていただくことで、それに対しフィードバックをする (学習内容のアウトプットは復習にもなるため、アウトプットすることを強く推奨します。)
  5. 画面共有を使ったオンライン講義 (オンライン講義は録画して、いつでもふり返れるようにしています。(オンライン講義動画(ウェビナー動画)))
  6. 学習プラン以外の内容に対しての質疑応答 (内容によっては回答できないものもありますが、まずは気軽に質問していただけたらと思います。)

その他注意点

1人で対応していることもあるため、対応が難しくなった場合は急遽募集を終了する可能性もあることをご了承ください。

もしくは、僕以外にメンターを増やすことで募集を継続するということも考えているため、その場合は現在のプラン料金の値段を上げることなると思います。

仮にプラン料金を上げる場合は、『現在のプラン料金 × メンター人数』の料金になるかと思います。

現在の値段が5000円なので、1日1本ペットボトルジュースを買うのを我慢することで(約160円)、効率よく学習できるので費用対効果はかなり高いかなと自負しています。

また、今後メンターが増えて、プラン料金が10000円15000円と上がったとしても、月々の料金は申し込んだときの料金となるので、5000円のときに契約した場合はずっと5000円で受講することができます。

詳しく話を聞いてみたい方は

以下のいずれかでメッセージをいただけたらと思います^^

 

プラン内容については以下のリンク先からも確認することが出来ます^^

【やる気満々な方向け】未経験からのWebエンジニア育成コース

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です