Bootstrapとは?
Bootstrapは、ウェブサイトやウェブアプリケーションを開発するためのフレームワークです。
HTML、CSS、JavaScriptというウェブ開発の3つの基本技術を使って、見た目が美しく、レスポンシブ(画面サイズに合わせて最適な表示を行う)なウェブサイトを簡単に作ることができます。
少しの記述量できれいな見た目を作成できるため、デザインやCSSの記述時間を短縮することができます。
また、Webサイトやダッシュボードなどのテンプレートも公開されているため、CSSがわからない方やデザインが苦手な方でもプロのサイトを作成することができます。
Bootstrapの読み込み
では実際にBootstrapを実際に読み込んで使ってみましょう。
Bootstrapを読み込む方法は大きく
- CDN(Content Delivery Network)を使用する方法
- ファイルをダウンロードしてプロジェクトに直接組み込む方法
の2つあります。
順番に説明していきます。
まず、1つ目のCDNを用いる方法です。
CDNを使用すると、Bootstrapのファイルをインターネット上のサーバーから直接リンクすることができます。
この方法は、特に小規模なプロジェクトや、迅速にプロトタイピングを行いたい場合に便利です。
Cloud9にLesson3_Bootstrapフォルダを新たに作成し、その中に「index.html」を作成し、以下のコードをコピーアンドペーストしてください。
index.html
<!doctype html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
</body>
</html>
では実際にBootstrapを読み込んでみましょう。
HTMLファイルの<head>タグ内の最後に、以下の記述を追加してください。
<link href=”https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css” rel=”stylesheet” integrity=”sha384-9ndCyUaIbzAi2FUVXJi0CjmCapSmO7SnpJef0486qhLnuZ2cdeRhO02iuK6FUUVM” crossorigin=”anonymous”>
さらに、</body>タグの直前に以下のコードを追加してください。
<script src=”https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js” integrity=”sha384-geWF76RCwLtnZ8qwWowPQNguL3RmwHVBC9FhGdlKrxdiJJigb/j/68SIy3Te4Bkz” crossorigin=”anonymous”></script>
CDNによる読み込み方法は以上です!
では、2つめのファイルをダウンロードしてプロジェクトに直接組み込む方法をご紹介します。
新たに、Lesson3_Bootstrapフォルダに「Download」という名のフォルダを作成してください。
その後、作成した「Download」フォルダの中に「download.html」ファイルと「CSS」「JS」フォルダを新規に作成しましょう。
次に、公式ドキュメントからファイルをダウンロードします。
https://getbootstrap.jp/docs/5.3/getting-started/download/
ダウンロードが完了したら、zipファイルを解凍し中身を確認しましょう。
zipを解凍すると「CSS」「JS」フォルダの2つが入っていると思います。
それぞれから1ファイルずつ
これでBootstrapが読み込まれました!
では実際にBootstrapのサンプルコードを挿入し、実際に画面を見てみましょう。
では、index.htmlの<body>タグ内に以下のコードを追加してください。

画像のようにアコーディオンメニューが表示されていたらBootstrapを無事に読み込めています。
ここでindex.htmlを見てみましょう。
デザインするのに必要なCSSや動きをつけるためのJavaScriptを1行も記述していないのに、画面上にはおしゃれなアコーディオンメニューが表示されています。
これがBootstrapの便利さです。
Bootstrapでは、HTMLのタグにあらかじめ用意されているクラス名を付与することによって、CSSを記述せずともCSSを適応させることができます。
例えば、「fw-bold」というクラスを追加すると、追加されたHTMLは太字になります。
つまり、fw-boldはCSSでいうfont-weight: bold;と同じ意味になります。
あらかじめBootstrap側で、以下のようなコードが用意されているためCSSは記述せずに済みます。
.fw-bold {
font-weight: bold;
}
では使い方が分かったところで、Bootstrapの基本的な使い方について見ていきましょう。
Bootstrapの基本
グリッド
グリッドはレスポンシブなページレイアウトを簡単に作成できる強力なツールです。
このグリッド機能を使うためにBootstrapを導入することもあるくらい、重要で便利な機能になるので扱えるようになりましょう。
グリッドはFlexboxで構築されており、コンテンツを簡単に整列させるために用いられます。
横幅を12カラムとして考えます。あまりイメージもわかないと思うのでさっそく使いながら理解していきましょう。
以下のコードをコピー&ペーストしてください。

画面を見てみると横並びになったレイアウトができていると思います。
では、コードの説明をします。
まず、グリッドで大切な2つのクラスは「row」「col」です。
「row」はcolクラスの親要素に設定します。
「row」クラスを指定することで、グリッドを使用することができるようになります。
続いて「col」クラスですが、「row」クラスの子要素に対してクラス名を設定します。
colクラスを用いることで特定の幅を持つ要素を作成できるようになります。
ここでの理解は、rowクラスの子要素にcolクラスを指定するというルールがあるという理解で十分です。
では、さらに進めていきましょう。
以下のコードをコピー&ペーストしてください。

6の正体について解説していきます。

メディアクエリ
基本的なコンポーネント
アコーディオン
まずは先ほども紹介した「アコーディオンメニュー」です。
アコーディオンメニューは、ウェブサイトやアプリケーションにおいて、コンテンツをコンパクトに表示し、
ユーザーが必要に応じて情報を展開できるようにするための便利なUI(ユーザーインターフェイス)コンポーネントです。
Webサイト等では「よくある質問」などで使われることが多いUIコンポーネントになります。
【サンプルコード】
<div class=”accordion” id=”accordionExample”>
<div class=”accordion-item”>
<h2 class=”accordion-header”>
<button class=”accordion-button” type=”button” data-bs-toggle=”collapse” data-bs-target=”#collapseOne” aria-expanded=”true” aria-controls=”collapseOne”>
Accordion Item #1
</button>
</h2>
<div id=”collapseOne” class=”accordion-collapse collapse show” data-bs-parent=”#accordionExample”>
<div class=”accordion-body”>
<strong>This is the first item’s accordion body.</strong> It is shown by default, until the collapse plugin adds the appropriate classes that we use to style each element. These classes control the overall appearance, as well as the showing and hiding via CSS transitions. You can modify any of this with custom CSS or overriding our default variables. It’s also worth noting that just about any HTML can go within the <code>.accordion-body</code>, though the transition does limit overflow.
</div>
</div>
</div>
<div class=”accordion-item”>
<h2 class=”accordion-header”>
<button class=”accordion-button collapsed” type=”button” data-bs-toggle=”collapse” data-bs-target=”#collapseTwo” aria-expanded=”false” aria-controls=”collapseTwo”>
Accordion Item #2
</button>
</h2>
<div id=”collapseTwo” class=”accordion-collapse collapse” data-bs-parent=”#accordionExample”>
<div class=”accordion-body”>
<strong>This is the second item’s accordion body.</strong> It is hidden by default, until the collapse plugin adds the appropriate classes that we use to style each element. These classes control the overall appearance, as well as the showing and hiding via CSS transitions. You can modify any of this with custom CSS or overriding our default variables. It’s also worth noting that just about any HTML can go within the <code>.accordion-body</code>, though the transition does limit overflow.
</div>
</div>
</div>
<div class=”accordion-item”>
<h2 class=”accordion-header”>
<button class=”accordion-button collapsed” type=”button” data-bs-toggle=”collapse” data-bs-target=”#collapseThree” aria-expanded=”false” aria-controls=”collapseThree”>
Accordion Item #3
</button>
</h2>
<div id=”collapseThree” class=”accordion-collapse collapse” data-bs-parent=”#accordionExample”>
<div class=”accordion-body”>
<strong>This is the third item’s accordion body.</strong> It is hidden by default, until the collapse plugin adds the appropriate classes that we use to style each element. These classes control the overall appearance, as well as the showing and hiding via CSS transitions. You can modify any of this with custom CSS or overriding our default variables. It’s also worth noting that just about any HTML can go within the <code>.accordion-body</code>, though the transition does limit overflow.
</div>
</div>
</div>
</div>

上記の画像のように表示されていたら成功です。
バッジ
Badges(バッヂ)は、数値やテキスト情報を小さなラベルとして表示するためのUIコンポーネントです。
Webサイト等では、アイテムの数を示したり、追加情報(例えば、新しい通知の数や未読メッセージの数など)を視覚的に強調するために使用されます。
【サンプルコード】
対象の要素に対して<span>タグを使い、badgeクラスと、背景色を指定するためのbg-*クラス(*には色を表すキーワードが入ります)を追加します。
<span class=”badge bg-primary”>Primary</span>
<span class=”badge bg-secondary”>Secondary</span>
<span class=”badge bg-success”>Success</span>
<span class=”badge bg-danger”>Danger</span>
<span class=”badge bg-warning text-dark”>Warning</span>
<span class=”badge bg-info text-dark”>Info</span>
<span class=”badge bg-light text-dark”>Light</span>
<span class=”badge bg-dark”>Dark</span>
画面を見てみると以下のようになっていると思います。
いろんなバッチが表示されていますね。
クラス名を2つけるだけで簡単に実装することができます。

Bootsrtapでは「primary」や「secondary」などのクラス名が多く出現します。
クラス名によって色がわかってくるので覚えておくか、表をすぐに見られるようにしておくと便利です。
| クラス名 | 色 | 用途 |
| primary | 青色 | 決定や成功を伝えたいとき |
| secondary | 灰色 | キャンセルや追加情報を伝えたいとき |
| success | 緑色 | 成功を伝えたいとき |
| danger | 赤色 | 失敗や警告、危険を伝いたいとき |
| warning | 黄色 | 注意を促したいとき |
| info | 水色 | 情報を示したいとき |
| light | 明るい灰色 | 軽いアクションを伝えたいとき |
| dark | 黒色 | エレガントやモダンな印象を与えたいとき |
【応用】
バッジを用いることでよく見る通知のアイコンのようなコンポーネントを作成することができます。
以下のコードをコピペして画面を確認してみましょう。
<button type=”button” class=”btn btn-primary position-relative”>
通知
<span class=”position-absolute top-0 start-100 translate-middle badge rounded-pill bg-danger”>
99+
<span class=”visually-hidden”>通知</span>
</span>
</button>
以下のような画像になっていたらOKです。
ほかのBootstrapの機能などと組み合わせるとより複雑なデザインも作成することができます。
コードを少し編集して試しながら進めていきましょう。
ボタン
ボタンは皆さんがよくWebサイトで見かける、クリックやタップすることで特定のアクションを実行できるUIコンポーネントです。
よく用いられるコンポーネントなので扱えるようにしましょう。
ボタンはbtnクラスと、背景色を指定するbtn-*のクラスを付与することにより使用することができます。
【サンプルコード】
<button type=”button” class=”btn btn-primary”>Primary</button>
<button type=”button” class=”btn btn-secondary”>Secondary</button>
<button type=”button” class=”btn btn-success”>Success</button>
<button type=”button” class=”btn btn-danger”>Danger</button>
<button type=”button” class=”btn btn-warning”>Warning</button>
<button type=”button” class=”btn btn-info”>Info</button>
<button type=”button” class=”btn btn-light”>Light</button>
<button type=”button” class=”btn btn-dark”>Dark</button>
<button type=”button” class=”btn btn-link”>Link</button>
画面を見てみると以下のようになっていると思います。
いろんなボタンが表示されていますね。
ボタンは画像のようなデザインだけでなく、アウトラインボタンのデザインやボタンの大きさを変更したりすることができます。
【アウトラインデザインサンプルコード】
<button type=”button” class=”btn btn-outline-primary”>Primary</button>
<button type=”button” class=”btn btn-outline-secondary”>Secondary</button>
<button type=”button” class=”btn btn-outline-success”>Success</button>
<button type=”button” class=”btn btn-outline-danger”>Danger</button>
<button type=”button” class=”btn btn-outline-warning”>Warning</button>
<button type=”button” class=”btn btn-outline-info”>Info</button>
<button type=”button” class=”btn btn-outline-light”>Light</button>
<button type=”button” class=”btn btn-outline-dark”>Dark</button>
アウトラインデザインの場合はbtnクラスと、アウトラインの色を指定するためのbtn-outline-*クラスを付与することによって使用することができます。
【サイズ変更のサンプルコード】
<button type=”button” class=”btn btn-primary btn-lg”>Large button</button>
<button type=”button” class=”btn btn-primary btn-sm”>Small button</button>
サイズ変更の場合、btnクラスとbtn-*クラスを指定することで使用することができます。
| クラス名 | 大きさ(px)※あくまでも目安 | 備考 |
| btn-lg | 約 46px | ボタンの縦幅が大きくなり、フォントサイズも若干大きくなります |
| btn-sm | 約 30px | ボタンの縦幅が小さくなり、フォントサイズも若干小さくなります |
| デフォルト | 約 38px | ボタンにサイズ指定のクラスを追加しない場合の標準サイズ |
カード
続いてカードについてです。
カードは、柔軟なコンテナとして設計されたコンポーネントで、画像、テキスト、リンクなどのコンテンツを美しく表示するために使用されますUIコンポーネントです。
ウェブページ上での製品の紹介、ユーザープロフィール、ブログ投稿など、さまざまな用途に応じてカスタマイズできるので非常に便利です。
【サンプルコード】
<div class=”card” style=”width: 18rem;”>
<img src=”https://placehold.jp/280×180.png” class=”card-img-top” alt=”ダミー画像”>
<div class=”card-body”>
<h5 class=”card-title”>カードタイトル</h5>
<p class=”card-text”>Some quick example text to build on the card title and make up the bulk of the card’s content.</p>
<a href=”#” class=”btn btn-primary”>もっと見る</a>
</div>
</div>
コードをコピペしてブラウザで確認すると、以下の画像のようなカードスタイルデザインが表示されるはずです。
※「placehold.jp」という簡単にダミー画像を作成してくれるサイトで生成した画像を使用しております。

card-bodyやcard-titleなどのクラスを付与することによって使用することができます。
コンポーネントの説明
| クラス名 | 解説 |
| card | カードコンポーネントのコンテナとなるクラス。 |
| card-img-top | カードの上部に画像を配置するためのクラス。<img>タグにこのクラスを適用します。 |
| card-body | カードの内容(テキストやボタンなど)を囲むためのコンテナ。 |
| card-title | カードのタイトルに使用されるテキスト。通常は<h5>タグなどの見出しタグに適用されます。 |
| card-text | カードの本文や説明文に使用されるテキスト。パラグラフ(<p>)タグに適用します。 |
| list-group | カード内でリストを使用するためのクラス。<ul>または<div>で表されます。 |
| list-group-item | カード内でリストを使用するためのクラス。<li>または<div>で表されます。 |
| card-footer | カードの最下部に配置するためのクラス。 |
【応用】
<div class=”card” style=”width: 18rem;”>
<img src=”https://placehold.jp/280×180.png” class=”card-img-top” alt=”ダミー画像”>
<div class=”card-body”>
<h5 class=”card-title”>カードタイトル</h5>
<p class=”card-text”>Some quick example text to build on the card title and make up the bulk of the card’s content.</p>
</div>
<ul class=”list-group list-group-flush”>
<li class=”list-group-item”>アイテム1</li>
<li class=”list-group-item”>アイテム2</li>
<li class=”list-group-item”>アイテム3</li>
</ul>
<div class=”card-body”>
<a href=”#” class=”card-link”>リンクテキスト1</a>
<a href=”#” class=”card-link”>リンクテキスト2</a>
</div>
</div>
list-groupやlist-group-itemを用いることによってさらに複雑なカードスタイルを作成することもできます。

カルーセル
カルーセル(Carousel)は、スライダー形式でコンテンツを表示するためのUIコンポーネントです。
画像、テキスト、その他のカスタムコンテンツを含む複数のスライドを順番に表示することや自動的に切り替わるように設定することもでき、
ユーザーが手動で切り替えることも可能です。ウェブサイトのヘッダー部分で特集記事や製品を紹介するのによく使用されます。
【サンプルコード】
<div id=”carouselExample” class=”carousel slide”>
<div class=”carousel-inner”>
<div class=”carousel-item active”>
<img src=”…” class=”d-block w-100″ alt=”…”>
</div>
<div class=”carousel-item”>
<img src=”…” class=”d-block w-100″ alt=”…”>
</div>
<div class=”carousel-item”>
<img src=”…” class=”d-block w-100″ alt=”…”>
</div>
</div>
<button class=”carousel-control-prev” type=”button” data-bs-target=”#carouselExample” data-bs-slide=”prev”>
<span class=”carousel-control-prev-icon” aria-hidden=”true”></span>
<span class=”visually-hidden”>Previous</span>
</button>
<button class=”carousel-control-next” type=”button” data-bs-target=”#carouselExample” data-bs-slide=”next”>
<span class=”carousel-control-next-icon” aria-hidden=”true”></span>
<span class=”visually-hidden”>Next</span>
</button>
</div>
画像ではかなり見にくいですが、画面左右中央にある矢印をクリックすると画像がスライドさせることができます。

carousel-itemクラス内にactiveクラスがありますが、このactiveクラスの場所を変えることで最初に表示する画像を変更することができます。
付け替えたり、文字を編集するなどしてどこがどう変わるのか確認しながら進めていくと、より一層理解することができます。
ドロップダウン
ドロップダウンは、クリックまたはホバーすることで表示される隠れたメニュー項目を提供するUIコンポーネントです。
ユーザーが利用可能な追加オプションを選択できるようにするために使用され、ナビゲーションバー、アクションリスト、その他の多くの用途に適しています。
【サンプルコード】
<div class=”dropdown”>
<button class=”btn btn-secondary dropdown-toggle” type=”button” data-bs-toggle=”dropdown” aria-expanded=”false”>
選択してください
</button>
<ul class=”dropdown-menu”>
<li><a class=”dropdown-item” href=”#”>その1</a></li>
<li><a class=”dropdown-item” href=”#”>その2</a></li>
<li><a class=”dropdown-item” href=”#”>その3</a></li>
</ul>
</div>
問い合わせフォームなどでよく見るドロップダウンメニューが簡単に表示できました。

ドロップダウンメニューの基本構造
| 要素/属性 | クラス名/属性値 | 説明 |
| ドロップダウントリガー | .dropdown-toggle |
ドロップダウンメニューを開くためのトリガー(ボタンやリンク)にこのクラスを使用します。 |
data-bs-toggle="dropdown" |
ドロップダウン機能を有効にするためにこのデータ属性をトリガー要素に追加します。 | |
| ドロップダウンメニュー | .dropdown-menu |
ドロップダウンで表示されるメニュー項目を含むコンテナにこのクラスを使用します。 |
| ドロップダウンアイテム | .dropdown-item |
ドロップダウンメニュー内の各選択肢にこのクラスを使用します。 |
| ドロップダウンディビジョン | .dropdown-divider |
メニュー内の項目を区切るために使用する水平線にこのクラスを使用します。 |
| ドロップダウンヘッダー | .dropdown-header |
ドロップダウンメニュー内でセクションのヘッダーとして使用されるテキストにこのクラスを使用します。 |
| アクティブなドロップダウンアイテム | .active |
選択されている、または現在のアクティブなドロップダウンアイテムにこのクラスを使用します。 |
| ドロップダウンメニューの位置調整 | .dropdown-menu-end |
ドロップダウンメニューをトリガー要素の右端に揃えるために使用します(左揃えがデフォルト)。 |
| ドロップダウンの無効化 | .disabled |
ドロップダウンアイテムを無効化し、インタラクションできなくするためにこのクラスを使用します。 |
また、ドロップダウンメニューの色も変更することもできます。
buttonタグのクラス名にbtnとbtn-*(btn-dangerなど)を指定することでカラフルなボタンを作成できます。
さらに、下向きにメニューを出すだけでなく、左向きや上向きにもメニューを出すことができます。
<!– Default dropstart button –>
<div class=”btn-group dropstart”>
<button type=”button” class=”btn btn-secondary dropdown-toggle” data-bs-toggle=”dropdown” aria-expanded=”false”>
Dropstart
</button>
<ul class=”dropdown-menu”>
<!– Dropdown menu links –>
</ul>
</div>
<!– Split dropstart button –>
<div class=”btn-group dropstart”>
<button type=”button” class=”btn btn-secondary dropdown-toggle dropdown-toggle-split” data-bs-toggle=”dropdown” aria-expanded=”false”>
<span class=”visually-hidden”>Toggle Dropstart</span>
</button>
<ul class=”dropdown-menu”>
<!– Dropdown menu links –>
</ul>
<button type=”button” class=”btn btn-secondary”>
Split dropstart
</button>
</div>
親要素のdivタグにdropstartクラスを付与することで左側に表示することができます。
リストグループ
リストグループは、一覧表示するためのUIコンポーネントです。
リストグループを使うことで、テキストのリスト、リンクのリスト、ボタンのリストなどを綺麗に整理して表示することができます。
Webサイトでは、コンテンツの一覧表示やメニュー、ナビゲーションパネルなどに利用されます。
【サンプルコード】
<ul class=”list-group”>
<li class=”list-group-item”>An item</li>
<li class=”list-group-item”>A second item</li>
<li class=”list-group-item”>A third item</li>
<li class=”list-group-item”>A fourth item</li>
<li class=”list-group-item”>And a fifth one</li>
</ul>
簡単にリストスタイルが作成できました。
サンプルコードにaタグを追加することでメニューのように、特定のURLに遷移できるリストグループが作成できます。
上記のようにコードを編集してみましょう。
保存してブラウザを再表示すると、以下の画像のように表示されるはずです。

「Lesson2 HTML」などのリストをクリックすると、Lesson2 HTML教材ページに遷移するはずです。
このように、aタグを追加し、適切なURLとリストのタイトルを設定することで簡単にWebサイトのナビゲーションメニューを作成することができます。
リストグループを使用するときに必要なクラスについて解説します。
| クラス名 | 説明 |
| .list-group | 親クラスに指定することで、リストグループを使うことを宣言します。 |
| .list-group-item | 各リスト項目に付与します。 |
| .list-group-item-action | 付与することで、リンクやボタンとして機能するリスト項目を作成することができます。 |
| .active | 付与することで、選択状態のリストを表現することができます。 |
| .disabled | 付与することで、無効化状態を表現することができます。 |
| .list-group-flush | 付与することで、項目間の境界線を非表示にすることができます。 |
| .list-group-horizontal | リストを縦ではなく、横並びにさせたいときに使用します。 |
| .list-group-numbered | リストに項目番号を使用したいときに指定します。 |
【応用】
「list-group-horizontal」と「list-group-flush」をもちいて横並びのチェックボックスを作成する方法をご紹介します。
<ul class=”list-group list-group-horizontal”>
<li class=”list-group-item”>
<input class=”form-check-input me-1″ type=”checkbox” value=”” id=”firstCheckboxStretched”>
<label class=”form-check-label stretched-link” for=”firstCheckboxStretched”>checkbox その1</label>
</li>
<li class=”list-group-item”>
<input class=”form-check-input me-1″ type=”checkbox” value=”” id=”secondCheckboxStretched”>
<label class=”form-check-label stretched-link” for=”secondCheckboxStretched”>checkbox その2</label>
</li>
<li class=”list-group-item”>
<input class=”form-check-input me-1″ type=”checkbox” value=”” id=”thirdCheckboxStretched”>
<label class=”form-check-label stretched-link” for=”thirdCheckboxStretched”>checkbox その3</label>
</li>
</ul>
以下の画像のように横並びのチェックぼっくが表示されます。

このように、ナビゲーションメニューだけでなく、お問い合わせフォームの入力欄のようなUIも作成することができます。
モーダル
モーダルとはポップアップウインドの一種でユーザーが特定のアクションを行うための情報やフォーム、メッセージなどを表示するために使用されるUIコンポーネントです。
Webサイトでは、画面の前面に表示され、背景のコンテンツは暗く表示されます。
また、一時的に暗く表示されている部分の操作ができなくなります。
【サンプルコード】
画面を再度読み込むと、「モーダルを開く」ボタンが表示されるはずです。
「モーダルを開く」ボタンをクリックしてみましょう。
以下画像のようにモーダルが表示されるはずです。

モーダルはWebアプリケーションを作成するときに利用頻度が高いUIコンポーネントになります。
この後のカスタマイズ方法や使い方をしっかりと理解しておきましょう。
モーダルのクラスについて説明します。
| クラス名 | 説明 |
| .modal | モーダルの基本クラス。モーダルにしたい親クラスに指定します。 |
| .modal-dialog | モーダルのコンテナに適用します。モーダルの幅とマージンを管理している。 |
| .modal-content | モーダルの内容を囲むために使用します。 モーダルの背景色、境界線、影などを管理しています。 |
| .modal-header | モーダルのヘッダー部分に使用します。 よくモーダルのタイトルと閉じるボタン(×)が配置されます。 |
| .modal-title | モーダルヘッダー内のタイトルに使用します。 |
| .modal-body | モーダルの本文に適用します。 モーダルのメインコンテンツ(テキスト、画像、フォームなど)部分を指します。 |
| .modal-footer | モーダルのフッター部分に使用します。 よくアクションボタンや閉じるボタンが配置されます。 |
| .modal-backdrop | モーダルが開いている間、背景を暗くするために自動的に追加されるクラスです。 |
| .fade | モーダル表示時にアニメーション効果(フェードイン、フェードアウト)を適用するためのクラスです。 |
| .show | モーダルを表示するために、.fadeクラスがある要素にJavaScriptによって動的に追加されます。 |
| .modal-sm, .modal-lg, .modal-xl | モーダルのサイズを小(sm)、大(lg)、さらに大(xl)に調整します。.modal-dialogに適用します。 |
【応用】
1.モーダル内にリンクを配置する

2.モーダルでフォームを作成する
Webサイトでもよく見かけるお問い合わせをモーダルで作成することもできます。
より実践的な使い方です。

3.複数のモーダルを作成する
Webアプリケーションではモーダルを2枚以上表示させる必要がある場合があります。
2枚以上のモーダルになってもBootstrapでは簡単に作成することができます。

「2枚目のボタンへ」ボタンをクリックすると2枚目のモーダルを表示させることができます。

ナビバー
ナビバー(Navbar)は、WebサイトやWebアプリケーションのナビゲーション(ヘッダーメニュー)を利用するためのUIコンポーネントです。
ナビバーはWebページの最上部に配置され、サイトのロゴ、メニュー、フォームなどを表示させることが多いです。
【サンプルコード】

ナビバーのクラスについて解説します。
| クラス名 | 説明 |
| .navbar | ナビバーの基本クラスになります。親要素のnavタグに指定します。 |
| .navbar-brand | ナビバー内のタイトルやロゴ部分に指定します。 |
| .navbar-nav | ナビゲーションリンクのリストに指定します。 |
| .nav-item | 個々のナビゲーション項目に指定します。通常、.navbar-navの子要素として使います。 |
| .nav-link | ナビゲーションリンクに指定します。.nav-itemの子要素として使います。 |
| .navbar-toggler | モバイルデバイスでナビバーを折りたたむためのボタンに指定します。 |
| .navbar-toggler-icon | ナビバーの折りたたみボタン内のアイコンに指定します。 ハンバーガーアイコンを表示するために使います。 |
【応用】
1.ドロップダウンメニュー
ドロップダウンメニューはメニュー名の中にさらに細かいメニューを表示させたい場合に用いられます。

フォームコントロール
Webアプリケーションやウェブサイトにおいて、ユーザーからの入力を受け取るためのフォームは不可欠な要素です。
フォームを通じて、ユーザーは検索クエリを送信したり、登録情報を入力したりすることができます。Bootstrapは、多くのお問い合わせフォームを作成する上での便利機能やコンポーネントを提供してくれています。
具体的には、テキストボックス、セレクトメニュー、ラジオボタン、チェックボックスなど、さまざまなinputタイプなどがあります。
Bootstrapのフォームコントロールを利用することで、これらの要素を簡単にスタイリングし、一貫性のある画面デザインを作成することができるのでこれから学んでいきましょう。
サイズ
まずはサイズ調整です。
クラス名を追記するだけで簡単に高さを変更することができます。
では実際に見ていきましょう。
【サンプルコード】

いろんなサイズのテキストボックスが表示されました。
「form-control-lg」「form-control-sm」のクラスをinputタグのクラス名に付与することでフォームのサイズを変えることができます。
フォームテキスト
Bootstrapにおけるフォームテキストは、フォームの説明や補足をするときに用いられることが多いです。
例えば、パスワード入力欄に「パスワードは大文字、小文字、数字を組み合わせた~」のような注釈を一度は見たことがあるのではないでしょうか。
Bootstrapは「form-text」というクラスを付与するだけで簡単に注釈を追加することができます。
【サンプルコード】

簡単に注釈が追加できました。
読み取り専用の項目
読み取り専用(Read-Only)属性は、フォームフィールドや入力要素において、ユーザーが表示されている値を見ることはできるが、その値を変更することはできないようにするために使用されます。
読み取り専用は、フォームで特定の情報をユーザーに提示する際に重宝します。
例えば、ユーザーが過去に入力した情報を確認する場合や、変更不可の値を表示する場合などに有効です。
Bootstrapでは、inputタグやtextareaタグに「readonly」属性を付与することで設定できます。
【サンプルコード】

見た目は今までとは変わりませんが、テキストエリアやテキストボックスをクリックしたりすると違いを感じられるはずです。
クリックしても、カーソルが入力エリアにあたることはなく、入力不可能になっているはずです。
ここで「disabled」属性との違いを解説します。
| 特性 | readonly | disabled |
| 定義 | ユーザーがフィールドの値を見ることはできるが、変更はできない。 | ユーザーがフィールドの値を見ることも、変更することもできない。 |
| 見た目 | 通常のフォームと変わりなし。 | フォームが薄い灰色でおおわれる。 |
| フォーム送信 | 内容を送信できる | 内容を送信できない |
試しに先ほどのサンプルコードのreadonlyを1つdisabledに変更してみましょう。
以下のコードに変更

見た目も変わりましたね。
「disabled」はフォーム背景が薄い灰色になりました。
ユーザーが視覚的に入力ができないことがわかるUIになっています。
適切に使い分けられるようにしましょう。
ファイル
ファイル入力は、ユーザーがPCや携帯電話にあるファイルをWebアプリケーションやWebサイトにアップロードするために用いられます。
wordファイルや運転免許証などをアップロードしたことがある方はイメージがつくと思います。
【サンプルコード】

ファイルを選択ボタンをクリックすると、自分のPCや携帯電話に入っているファイルを選択できるようになります。
送信ボタンをクリックしてもファイルは送信されませんが、「form-control」のクラス名を設定することで簡単にファイルをアップロードするためのフォームを作成することができます。
Bootstrap Icons
Boo
コメントを残す