Bootstrapオフキャンバス入門:.offcanvasと.offcanvas-start・end・top・bottomの基本をやさしく解説
生徒
「Bootstrapのオフキャンバスって何ですか?名前から想像できなくて…」
先生
「オフキャンバスは、画面の外からスライドして表示されるメニューやパネルのことです。スマホのメニューによく使われます。」
生徒
「画面の外って、どういう意味ですか?」
先生
「最初は見えない場所に置いておいて、ボタンを押したら出てくる仕組みですね。では基本から順番に見ていきましょう。」
1. Bootstrapのオフキャンバスとは何か?
Bootstrapのオフキャンバスとは、Webページの画面外に隠れていて、操作すると表示されるUI部品です。スマートフォンの三本線メニューを思い浮かべると分かりやすいでしょう。Bootstrap5ではoffcanvasという専用クラスが用意されており、JavaScriptの知識がなくても簡単に実装できます。初心者にとっては「ボタンを押すと横から出てくる箱」と考えると理解しやすいです。
2. .offcanvasクラスの基本的な役割
.offcanvasは、オフキャンバスを作るための土台となるクラスです。このクラスを指定した要素は、通常は画面に表示されず、必要なときだけ現れます。難しい言葉で言うと「非表示状態から表示状態へ切り替わる要素」ですが、初心者の方は「隠し引き出し」と思ってください。
<button class="btn btn-primary" data-bs-toggle="offcanvas" data-bs-target="#menu">
メニューを開く
</button>
<div class="offcanvas offcanvas-start" id="menu">
<div class="offcanvas-header">
<h5>メニュー</h5>
<button class="btn-close" data-bs-dismiss="offcanvas"></button>
</div>
<div class="offcanvas-body">
<p>ここに内容を書きます。</p>
</div>
</div>
ブラウザ表示
3. .offcanvas-start:左から出てくるオフキャンバス
.offcanvas-startは、画面の左側からスライドして表示されるオフキャンバスです。日本語サイトでは特に使われることが多く、ナビゲーションメニューに最適です。startは「開始」という意味ですが、Bootstrapでは「左側」を表します。パソコン初心者の方は「左の引き出し」と覚えるとよいでしょう。
<div class="offcanvas offcanvas-start" id="leftMenu">
<div class="offcanvas-header">
<h5>左メニュー</h5>
<button class="btn-close" data-bs-dismiss="offcanvas"></button>
</div>
<div class="offcanvas-body">
<ul>
<li>ホーム</li>
<li>サービス</li>
<li>お問い合わせ</li>
</ul>
</div>
</div>
ブラウザ表示
4. .offcanvas-end:右から出てくるオフキャンバス
.offcanvas-endは、画面の右側から表示されるオフキャンバスです。endは「終わり」を意味し、Bootstrapでは右側を指します。設定画面や補足情報など、メイン内容を邪魔したくない場合に便利です。左利き右利きは関係なく、用途で選ぶとよいです。
<div class="offcanvas offcanvas-end" id="rightPanel">
<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. .offcanvas-top:上から表示されるオフキャンバス
.offcanvas-topは、画面の上から下に向かって表示されるオフキャンバスです。通知やお知らせ、簡単な案内表示に向いています。上から垂れてくるイメージなので、カーテンのようだと考えると分かりやすいです。
<div class="offcanvas offcanvas-top" id="topNotice">
<div class="offcanvas-header">
<h5>お知らせ</h5>
<button class="btn-close" data-bs-dismiss="offcanvas"></button>
</div>
<div class="offcanvas-body">
<p>重要なお知らせ内容です。</p>
</div>
</div>
ブラウザ表示
6. .offcanvas-bottom:下から出てくるオフキャンバス
.offcanvas-bottomは、画面の下から上に表示されるオフキャンバスです。スマートフォンでよく見る操作メニューに近く、アクション選択などに使われます。机の引き出しを下から引くような感覚で覚えるとよいでしょう。
<div class="offcanvas offcanvas-bottom" id="bottomMenu">
<div class="offcanvas-header">
<h5>操作メニュー</h5>
<button class="btn-close" data-bs-dismiss="offcanvas"></button>
</div>
<div class="offcanvas-body">
<button class="btn btn-success">保存</button>
<button class="btn btn-danger">削除</button>
</div>
</div>
ブラウザ表示
7. オフキャンバスでよく使う部品の意味
オフキャンバスの中には、offcanvas-headerとoffcanvas-bodyがあります。headerはタイトルや閉じるボタンを置く場所、bodyは中身を書く場所です。難しい構造ではなく「上に見出し、下に内容」と考えれば十分です。Bootstrapでは見た目も整えてくれるので、初心者でも安心して使えます。
8. 初心者がつまずきやすいポイント
オフキャンバスが表示されない原因として多いのは、ボタンとオフキャンバスのidが一致していないことです。また、BootstrapのJavaScriptが正しく読み込まれていないと動きません。動かないときは「ボタンの指定」「idの名前」「クラス名」を一つずつ確認しましょう。焦らず確認することが大切です。
【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を楽しみながら、一緒に学びましょう!
各回少人数・マンツーマン形式で徹底サポート
このセミナーの詳細・お申し込みはこちら