カテゴリ: Bootstrap 更新日: 2025/12/14

Bootstrap 5のモーダルとオフキャンバスを完全ガイド!初心者がつまずくポイントも解説

Bootstrap 5 のモーダル・オフキャンバスの基礎とよくある失敗の直し方
Bootstrap 5 のモーダル・オフキャンバスの基礎とよくある失敗の直し方

先生と生徒の会話形式で理解しよう

生徒

「Bootstrapのモーダルってよく聞くけど、何に使うんですか?」

先生

「モーダルは、ページの上にふわっと重なる小さなウィンドウのことだよ。注意を引きたいときに使うんだ。」

生徒

「じゃあ、オフキャンバスは何ですか?」

先生

「オフキャンバスは、横からスライドして出てくるメニューやパネルのこと。スマホのメニューに使われることが多いね。」

生徒

「なるほど!でも動かないときがあるって聞いたけど…」

先生

「よくある失敗例と直し方も後で紹介するから安心してね!」

1. Bootstrapのモーダルとは?使い方の基本

1. Bootstrapのモーダルとは?使い方の基本
1. Bootstrapのモーダルとは?使い方の基本

Bootstrap(ブートストラップ)5のモーダルは、画面の上に表示される「ポップアップウィンドウ」のようなものです。例えば、「確認メッセージを出す」「注意をうながす」「登録フォームを表示する」など、画面全体を覆ってユーザーの注目を集めたいときに使います。

以下は、ボタンを押すとモーダルが表示される基本のコードです。


<!-- モーダルを開くボタン -->
<button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#exampleModal">
  モーダルを開く
</button>

<!-- モーダル本体 -->
<div class="modal fade" id="exampleModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <h5 class="modal-title" id="exampleModalLabel">モーダルタイトル</h5>
        <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="閉じる"></button>
      </div>
      <div class="modal-body">
        ここにモーダルの内容が表示されます。
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">閉じる</button>
      </div>
    </div>
  </div>
</div>
ブラウザ表示

2. オフキャンバスの基本的な使い方

2. オフキャンバスの基本的な使い方
2. オフキャンバスの基本的な使い方

オフキャンバス(Offcanvas)は、スマホサイトでよく見る「スライドして現れるメニュー」です。右や左からぬるっと出てくるパネルで、メニューやお知らせ欄として活用できます。


<!-- オフキャンバスを開くボタン -->
<button class="btn btn-success" type="button" data-bs-toggle="offcanvas" data-bs-target="#offcanvasExample"
 aria-controls="offcanvasExample">
  メニューを開く
</button>

<!-- オフキャンバス本体 -->
<div class="offcanvas offcanvas-start" tabindex="-1" id="offcanvasExample"
 aria-labelledby="offcanvasExampleLabel">
  <div class="offcanvas-header">
    <h5 class="offcanvas-title" id="offcanvasExampleLabel">メニュー</h5>
    <button type="button" class="btn-close" data-bs-dismiss="offcanvas" aria-label="閉じる"></button>
  </div>
  <div class="offcanvas-body">
    ここにメニュー内容を入れます。
  </div>
</div>
ブラウザ表示

3. モーダル・オフキャンバスが動かないときのよくある失敗と直し方

3. モーダル・オフキャンバスが動かないときのよくある失敗と直し方
3. モーダル・オフキャンバスが動かないときのよくある失敗と直し方

Bootstrap 5でモーダルオフキャンバスがうまく動かないとき、多くは「JavaScriptが読み込まれていない」「属性のつけ忘れ」「IDの指定ミス」が原因です。

たとえば、以下のようにJavaScript(JS)を読み込まないと、動作しません。


<!-- BootstrapのJSをCDNで読み込み(必須) -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>

また、以下のような失敗にも注意しましょう:

  • ボタンのdata-bs-toggledata-bs-targetがない
  • モーダルやオフキャンバスのIDが一致していない
  • BootstrapのCSSが読み込まれていない

この3点は特に初心者がつまずきやすいポイントなので、何度もチェックしてみてください。

4. モーダルとオフキャンバスの違いと使い分け

4. モーダルとオフキャンバスの違いと使い分け
4. モーダルとオフキャンバスの違いと使い分け

モーダルは「画面の真ん中にポップアップ」、オフキャンバスは「画面の端からスライド」というイメージを持ってください。

用途の違いとしては以下の通りです:

  • モーダル:確認メッセージ・警告・入力フォームに最適
  • オフキャンバス:メニュー・設定パネル・ナビゲーション向き

このように、どちらも「表示の切り替え」には便利ですが、ユーザー体験(UX)に合わせて使い分けましょう。

5. モーダルやオフキャンバスでよく使うボタン属性

5. モーダルやオフキャンバスでよく使うボタン属性
5. モーダルやオフキャンバスでよく使うボタン属性

Bootstrap 5では、data-bs-*という属性を使って、JavaScriptを書かずに簡単に操作ができます。

たとえば:

  • data-bs-toggle="modal":モーダルを開く
  • data-bs-target="#exampleModal":どのモーダルを開くか指定
  • data-bs-dismiss="modal":モーダルを閉じる
  • data-bs-toggle="offcanvas":オフキャンバスを開く
  • data-bs-dismiss="offcanvas":オフキャンバスを閉じる

これらはJavaScriptを使わずに操作できるので、初心者にも扱いやすいです。

6. スマホ対応とレスポンシブの注意点

6. スマホ対応とレスポンシブの注意点
6. スマホ対応とレスポンシブの注意点

モーダルやオフキャンバスは、スマホ・タブレットでも使えるようにレスポンシブ設計(画面サイズに合わせて変化する作り)になっています。ただし、横幅が足りないとモーダルが画面からはみ出ることもあるので、画面幅に応じたサイズ調整も必要です。

モーダルのサイズは以下のクラスで変更できます:

  • .modal-sm:小さいサイズ
  • .modal-lg:大きめサイズ
  • .modal-xl:もっと大きいサイズ

使いやすいサイズに調整して、スマホでも見やすくなるようにしましょう。

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

Bootstrap 5のモーダルとは何ですか?どんな場面で使われるのですか?

Bootstrap 5のモーダルとは、画面中央に重なるポップアップウィンドウのことで、注意喚起、確認メッセージ、入力フォームの表示など、ユーザーの注目を集めたい場面でよく使われます。

モーダルのIDとdata-bs-targetが一致していないとどうなりますか?

IDが一致していない場合、クリックしてもモーダルが開かないというトラブルが起きます。IDとターゲットの一致は必須なので、初心者がよく見落とすポイントです。

BootstrapのJavaScriptが読み込まれているかどうか確認する方法はありますか?

ブラウザの開発者ツールのコンソールにエラーが出ていないか確認したり、モーダルやオフキャンバスの動作をテストして反応があるかを見ることで確認できます。

スマホでモーダルやオフキャンバスを使うときの注意点はありますか?

スマホでは画面幅が狭いため、モーダルの内容が大きすぎると見切れる場合があります。レスポンシブ設計を意識し、サイズクラスを調整することが重要です。

モーダルとオフキャンバスは同じページで併用しても大丈夫ですか?

はい、併用しても問題ありません。メイン機能をモーダルで、メニュー操作をオフキャンバスでというように役割を分けることで、とても使いやすいページになります。
カテゴリの一覧へ
新着記事
New1
CSS
CSSの子要素セレクタを完全ガイド!初心者でもわかる:first-child・:last-child・:nth-child()
New2
CSS
CSSの擬似要素::beforeと::afterを徹底解説!初心者でも使える具体例つき
New3
Bootstrap
Bootstrapのアクセシビリティ完全ガイド!初心者でもわかるvisually-hiddenの使い方
New4
CSS
CSSで見出しと本文をきれいに分ける方法!初心者でもわかるスタイルの使い方
人気記事
No.1
Java&Spring記事人気No1
CSS
CSSの文字色と背景色の組み合わせで読みやすさアップ!初心者でもわかる可読性の改善方法
No.2
Java&Spring記事人気No2
CSS
CSSのスクロール可能なボックスを作る方法!初心者でもわかるoverflowとheightの使い方
No.3
Java&Spring記事人気No3
CSS
CSSの複数セレクタ指定を完全解説!初心者でもわかるカンマ区切りの使い方
No.4
Java&Spring記事人気No4
CSS
CSSで要素のサイズを自動調整!autoとfit-contentの使い方
No.5
Java&Spring記事人気No5
Bootstrap
Bootstrap 5 のフォームの基本:入力・バリデーション・エラーメッセージ設計
No.6
Java&Spring記事人気No6
CSS
CSSセレクタとは?初心者でもわかる要素の指定方法をやさしく解説
No.7
Java&Spring記事人気No7
Bootstrap
Bootstrap 5のモーダルとオフキャンバスを完全ガイド!初心者がつまずくポイントも解説
No.8
Java&Spring記事人気No8
CSS
CSSの文字色と背景色をやさしく解説!初心者でもわかる基本の設定方法