Bootstrapモーダルの基本実装を完全解説!data-bs-toggleとdata-bs-targetで簡単に開閉しよう
生徒
「Bootstrapのモーダルって、ボタンを押すと画面にポップアップが出るやつですよね?」
先生
「そうです。Bootstrapモーダルは、確認画面やお知らせを表示するためによく使われます。」
生徒
「JavaScriptを書かないと動かせないんですか?」
先生
「基本的な使い方なら、HTMLの属性を指定するだけで開閉できます。順番に見ていきましょう。」
1. Bootstrapのモーダルとは何かを知ろう
Bootstrapのモーダルとは、画面の上に重なって表示される小さなウィンドウのことです。たとえば「本当に削除しますか?」のような確認メッセージや、入力フォームを表示するときによく使われます。
パソコンを使っていると、突然画面の真ん中にメッセージが出てきて、背景が少し暗くなることがあります。それと同じ仕組みがBootstrapモーダルです。背景を操作できなくして、今表示している内容に集中させる役割があります。
2. data-bs-toggleとdata-bs-targetの役割
Bootstrapモーダルを開閉するときに重要なのが、data-bs-toggle と data-bs-target という2つの属性です。これらはHTMLタグの中に書くだけで動作します。
data-bs-toggleは「どんな機能を使うか」を指定します。モーダルの場合は modal と書きます。data-bs-targetは「どのモーダルを開くか」を指定するためのものです。
難しく感じるかもしれませんが、これは「このボタンを押したら、このモーダルを開いてください」と伝えているだけです。
3. ボタンをクリックしてモーダルを開く基本例
<button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#sampleModal">
モーダルを開く
</button>
ブラウザ表示
このコードでは、ボタンにdata-bs-toggleとdata-bs-targetが設定されています。#sampleModalは、後ほど作成するモーダルの名前です。シャープ記号は「idを指定します」という意味になります。
4. モーダル本体のHTML構造を理解しよう
<div class="modal fade" id="sampleModal" tabindex="-1">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">お知らせ</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal"></button>
</div>
<div class="modal-body">
<p>これはBootstrapのモーダルです。</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">閉じる</button>
</div>
</div>
</div>
</div>
ブラウザ表示
モーダルは決まった入れ子構造になっています。箱の中に箱が入っているイメージです。modal-dialogは大きさを決める箱、modal-contentは実際の中身を入れる箱と考えると分かりやすいです。
5. モーダルを閉じる仕組みを理解する
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">
キャンセル
</button>
ブラウザ表示
モーダルを閉じるときは、data-bs-dismissという属性を使います。これは「このボタンを押したら閉じる」という意味です。
閉じる処理もJavaScriptを書かなくてよいので、初心者でも安心して使えます。
6. 複数のモーダルを使い分ける考え方
Bootstrapでは、複数のモーダルを使うこともできます。その場合は、それぞれ違うidを付けて、data-bs-targetで指定します。
これは「部屋番号が違うドアを開ける」ようなものです。正しい番号を指定しないと、開けたいモーダルは表示されません。
7. モーダルが動かないときのよくある原因
初心者の方がつまずきやすいのは、idの指定ミスです。data-bs-targetとモーダルのidが一致していないと、何も起こりません。
また、BootstrapのJavaScriptファイルが読み込まれていない場合も動作しません。HTMLが正しくても、裏側の仕組みが動いていないと表示されないので注意が必要です。
8. モーダルは確認や通知に便利なUI部品
Bootstrapモーダルは、ユーザーに大事な情報を伝えるための部品です。画面を切り替えずに表示できるため、操作の流れを止めにくいという特徴があります。
data-bs-toggleとdata-bs-targetを使った基本実装を覚えておけば、多くの場面で活用できます。まずはシンプルな構造を理解することが大切です。
【60分集中】CSSを1行も書かない!?Bootstrap 5ユーティリティクラス活用で開発工数を50%削減
「スピード」が武器になる。Bootstrap 5で商用クオリティのWebサイトを高速構築。
本講座では、世界シェアNo.1のフレームワークBootstrap 5を使いこなし、ゼロからレスポンシブサイトを組み上げる「現場最速のワークフロー」を学びます。単なる導入に留まらず、ユーティリティクラスを活用した効率化と、実務で必須となるカスタマイズ技法を60分で完全習得します。
具体的なワークショップ内容と環境
【つくるもの】
モダンなランディングページ(LP)やダッシュボードのプロトタイプを作成します。ナビゲーション、ヒーローセクション、カードレイアウト、フッターなど、Bootstrapのコンポーネントを組み合わせて「一瞬で形にする」感動を体験してください。
【開発環境】
VS CodeにBootstrap 5専用のSnippet(補完機能)を導入し、手入力を最小限にする環境を構築。最新のCDN利用法や、表示速度(Core Web Vitals)を意識した最適な読み込み設定など、プロの初期設定を伝授します。
この60分で得られる3つの革新スキル
スマホ・タブレット・PCでレイアウトを自由自在に切り替える「ブレイクポイント」の極意を学びます。
CSSを1行も書かずに、マージン・パディング・カラーを制御。開発工数を半分以下にする実戦術を習得します。
「Bootstrap感」を消し、独自のブランドイメージに合わせるための、上書きの作法とデザインの整え方を伝授します。
※本講座は、HTML/CSSの基本を理解した方向けの「実践加速講座」です。制作会社のコーダーや副業フリーランスとして「案件の回転率」を上げ、市場価値を最大化させたい方をモクモクがバックアップします。
Bootstrap 5を楽しみながら、一緒に学びましょう!
各回少人数・マンツーマン形式で徹底サポート
このセミナーの詳細・お申し込みはこちら