Bootstrapオフキャンバス完全入門|data-bs-toggleとdata-bs-targetで開閉を実装しよう
生徒
「Bootstrapのオフキャンバスって、どうやって開いたり閉じたりするんですか?」
先生
「ボタンにdata-bs-toggleとdata-bs-targetを設定するだけで、簡単に開閉できます。」
生徒
「プログラミング未経験でも大丈夫ですか?」
先生
「もちろんです。スイッチを押す感覚で考えると、とても分かりやすいですよ。」
1. Bootstrapのオフキャンバスとは何か
Bootstrapのオフキャンバスとは、画面の外側に隠れていて、必要なときだけスライドして表示されるパネルのことです。 スマートフォンのメニュー画面を想像すると分かりやすく、普段は見えないけれど、ボタンを押すと横から出てきます。 Bootstrap5では、このオフキャンバス機能が標準で用意されており、JavaScriptを自分で書かなくても使えるのが特徴です。
2. 開閉の仕組みをイメージで理解しよう
オフキャンバスの開閉は「ボタン」と「箱」をひもでつなぐような仕組みです。 ボタンがスイッチ、オフキャンバスが箱だと考えてください。 data-bs-toggleは「これはオフキャンバス用のスイッチですよ」という目印で、 data-bs-targetは「どの箱を開けますか?」という行き先を指定しています。
3. data-bs-toggleの役割をやさしく解説
data-bs-toggleは、Bootstrapに対して「このボタンは特別な動きをします」と伝えるための設定です。 オフキャンバスを使う場合は、必ずoffcanvasという値を指定します。 これは英語で「画面の外」という意味があり、Bootstrapが自動的に開閉の動きを担当してくれます。
<button class="btn btn-primary" data-bs-toggle="offcanvas">
メニューを開く
</button>
ブラウザ表示
4. data-bs-targetで表示先を指定する方法
data-bs-targetは、どのオフキャンバスを開くのかを指定するための設定です。 これは住所のようなもので、目的のオフキャンバスのidと一致させます。 シャープ記号から始まる文字列を書くことで、正しいパネルが表示されます。
<button class="btn btn-success" data-bs-toggle="offcanvas" data-bs-target="#sampleMenu">
サイドメニュー表示
</button>
<div class="offcanvas offcanvas-start" id="sampleMenu">
<div class="offcanvas-header">
<h5>メニュー</h5>
<button class="btn-close" data-bs-dismiss="offcanvas"></button>
</div>
<div class="offcanvas-body">
<p>ここにメニュー内容を書きます。</p>
</div>
</div>
ブラウザ表示
5. ボタンを押すだけで開閉できる理由
通常であれば、画面の表示や非表示を切り替えるにはJavaScriptというプログラミング言語が必要です。 しかしBootstrapでは、data-bs-toggleとdata-bs-targetを設定するだけで、 内部で用意された仕組みが自動的に動作します。 そのため、パソコンを触ったことがない人でも、決まりごと通りに書くだけで実装できます。
6. 複数のオフキャンバスを使うときの考え方
オフキャンバスは一つだけでなく、複数作ることも可能です。 その場合は、それぞれに違うidを付けて、ボタン側のdata-bs-targetも変えます。 引き出しが何段もあるタンスをイメージすると分かりやすく、 どの取っ手がどの引き出しにつながっているかを揃えることが大切です。
<button class="btn btn-warning" data-bs-toggle="offcanvas" data-bs-target="#infoPanel">
お知らせを見る
</button>
<div class="offcanvas offcanvas-end" id="infoPanel">
<div class="offcanvas-header">
<h5>お知らせ</h5>
<button class="btn-close" data-bs-dismiss="offcanvas"></button>
</div>
<div class="offcanvas-body">
<p>最新情報がここに表示されます。</p>
</div>
</div>
ブラウザ表示
7. 初心者がつまずきやすいポイント
よくある失敗として、data-bs-targetとオフキャンバスのidが一致していないケースがあります。 文字が一つ違うだけでも動かなくなるため、コピーして使うのがおすすめです。 また、閉じるボタンにはdata-bs-dismissを設定しないと、押しても反応しないので注意が必要です。
8. オフキャンバスが向いている場面
オフキャンバスは、ナビゲーションメニューや設定画面、補足情報の表示に向いています。 画面をすっきり見せたいときに特に効果的で、Bootstrapを使うことで見た目も整います。 初心者でも実装しやすく、Webサイト作成の第一歩として覚えておくと便利な機能です。
【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を楽しみながら、一緒に学びましょう!
各回少人数・マンツーマン形式で徹底サポート
このセミナーの詳細・お申し込みはこちら