Bootstrapの基本

目次

1.Bootstrapとは
 BootstrapはウェブサイトやWebアプリケーションを作成するフロントエンドWebアプリケーションフレームワークである。(引用:Wiki)
 主にHTML要素のCSSフレームワーク(デザインテンプレート)として使われ、class属性に指定するだけで見やすいデザインを作成できる。また、ボタンやjavascriptの拡張機能がHTMLおよびCSSベースのデザインテンプレートとして用意されている。 

 Bootstrapの日本語サイト
 https://getbootstrap.jp/

2.使い方
(1)CDNを使ったBootstrapの導入
 Bootstrapを使うためにインストールする方法とCDN(Content Delivery Network)からスクリプトファイルを読み込む方法があります。ここでは、CDNを使う方法について記載します。

①CSS
 <head>内に他のスタイルシートよりも先に入れます。

②JS
 ドロップダウン、ポップオーバー、ツールチップを利用する際はpopper.jsが必要になります。
 最初にpopoer.js を読み込み、次にJavaScriptプラグインを読み込みます。

(2)基本テンプレート
 sample1.html

・Bootstrap は HTML5 doctype を使用する必要があります。 <!doctype html>
・レスポンシブ用メタタグを追加します。 <meta name=”viewport” content=”width=device-width, initial-scale=1″>
“viewport”は仮想の表示領域を設定する属性値で、”width=device-width”で閲覧している画面サイズに合わせてサイズ変更、”initial-scale=1″でページを表示したときの初期倍率を指定できます。

3.Containers (コンテナ)
 コンテナはBootstrap基本的なレイアウト要素で、コンテナの中にBootstrapの各要素を記述することで、デバイスのサイズに応じてコンテンツに適切な余白を与え整列させることができます。containerはウィンドウの横幅に応じて段階的に横幅が変動し、各レスポンシブブレークポイントで 幅が設定されます。ブレークポイントはデフォルトの設定では、Extra small<576px、Small≥576px、Medium≥768px、Large
≥992px、X-Large≥1200px、XX-Large≥1400pxとなっています。
 Bootstrapには.container、container-fluid、.container-{breakpoint} の3つの異なるコンテナがあり、下図のように幅が変わります。

.containerクラスを設定したときの例を示します。

.container-fluidクラスを設定したときの例を示します。
 横幅はどのデバイス(画面幅)でも画面幅全体になります。

4.Grid system (グリッドシステム)
(1)カラム数を指定しないで分割
 グリッドシステムは、一連のコンテナ、行、列を使用してコンテンツをレイアウトします。
 下記の例ではコンテナを3分割します。col-sm(Small≥576px)では幅が576px未満になると3行の100%表示になります。

 sample2.html

・container、row、colクラスのレイアウトの役割
 containerクラスはコンテンツの器となります。
 rowクラスは行をまとめる役割をします。
 colクラスはブレークポイント(smなど)とカラム数を指定することができます。カラム数は画面を12分割した列の数です。

(2)カラム数を指定して分割

(3)ブレークポイントの異なるカラムを設定
 ”.col-sm”、”.col-lg”のブレークポイントの異なる2つのクラスを指定した例です。

 sample4.html

5.Gutters (ガター)
 ガターはカラム間にパディングを入れます。
 .gx-クラスを使うと水平方向のガター、.gy-クラスを使うと垂直方向のガター、.g-*クラスは水平・垂直ガターを設定することができます。

 sample5.html

6.Typography (タイポグラフィ)
(1)Headings
 HTMLの見出し<h1>から<h6>が利用できます。または、.h1 から .h6 クラスも利用できます。 <h1>sample text</h1>
<p class=”h1″>sample text</p>

(2)Display headings

(3)Lead
  .leadを追加して目立たせることができます。

(4)Inline text elements
 一般的なインラインのためのスタイリング要素です。

(5)Abbreviations
  要素で略語を表し、title=”…” で指定すると略語が点線の下線付きで表示され、ホバーしたときtitle=”…” で指定した内容が表示されます。文字サイズを少し小さくするときは.initialism を追加します。

7.Tables (テーブル)
 に .tableクラスを追加することでbootstrap の標準のテーブルとなります。
(1)基本テーブル
 sample9.html

(2)zebra-striping
 zebra-striping を追加するには、.tableに.table-stripedを追加します。
 sample10.html

(3)Hoverable rows
 テーブル内でマウスオーバー行をホバー状態にするためには.tableに.table-hoverを追加します。
 sample11.html

(4)その他のテーブルクラス
・ .table-bordered
 テーブルとセルの四方の境界線をつける
・.table-borderless
 テーブルとセルの四方の境界線を削除
・ .table-sm
 セルの padding を半分にしてテーブルをコンパクトにする
・.table-responsive
 .table を .table-responsiveでラップすることで、すべてのビューポートに対応したレスポンシブテーブルにすることができます。
 sample12.html

8.Figures (図)
.figure-captionクラス
.figure-caption クラスを使用して、画像に関連するテキストを表示します。
 sample13.html

9.Forms (フォーム)
 .form-textでフォームに関連するテキストを表示できます。

 sample14.html

10.Accordion(アコーディオン)
 sample15.html
 (引用:Bootstrap v5.0のドキュメント)

11.その他のクラス
 様々なサンプルを下記からダウンロードできます。
 https://getbootstrap.jp/docs/5.0/getting-started/download/

12.CSSの基本知識
(1)Webページのスタイルの適用方法
 CSSをHTMLに組み込む方法は、①HTMLのタグの中に直接、style属性でCSSを記述する方法、②内部参照(HTMLのhead内部にCSSを書き込む方法)、③外部参照(CSSファイルを作成しHTMLとリンクさせる方法)の3つがあります。
 ②、または③の場合、セレクタ(HTMLタグ名、クラス名、id名)に対してスタイルを定義します。 

(2)メディアクエリ
 Webページのスタイルを記述するCSSの仕様の一つで、表示された画面環境に応じて適用するスタイルを切り替える機能です。
 下記の例では、画面サイズが480pxまではここで指定したスタイルシートが使われます。
①link要素として指定する場合

②スタイルシート(CSSファイル)で指定する場合

(3)Sass(Syntactically Awesome StyleSheet)
  CSSの拡張言語のことで、Bootstorapでも使われている

(4)レイアウト
 HTMLページのレイアウトには大きく分けてフレックスボックスとグリッドレイアウトがあります。
 ①フレックスボックス
  一次元のレイアウトモデルで、親要素となるコンテナとその中に入るアイテムから成ります。コンテナのタグにdisplay: flexを定義します。
 ②グリッド
二次元レイアウトモデルで、アイテムをタグで囲んで、そのタグにdisplay: grid、親要素の列(grid-templete-columns)と行(grid-template-rows)を定義します。

(本サイト内のページ) 
 CSSの基本

(参考文献)
・Bootstrap v5.0のドキュメント
 https://getbootstrap.jp/
 
 サンプルプログラムの一部は、Bootstrap v5.0のドキュメントから引用しています。

The end