Bootstrap アコーディオン・Collapse完全ガイド|複数同時に開く・1つだけ開く data-bs-parent の使い分け
生徒
「Bootstrapのアコーディオンって、クリックすると開いたり閉じたりしますよね。でも、全部同時に開いたり、1つしか開かないようにしたりできますか?」
先生
「できます。BootstrapのCollapse機能とdata-bs-parentという指定を使い分けることで動きを変えられます。」
生徒
「data-bs-parentって聞いたことはあるけど、何をしているのかよく分かりません…。」
先生
「大丈夫です。パソコンを触ったことがない人でも分かるように、たとえ話を交えて順番に説明します。」
1. BootstrapのアコーディオンとCollapseとは?
Bootstrapのアコーディオンとは、クリックすると中身が開いたり閉じたりする仕組みです。よくある質問ページで、質問を押すと答えが表示される動きを想像してください。
この動きの正体は、BootstrapのCollapseという機能です。Collapseは「折りたたむ」という意味で、画面をすっきり見せるためによく使われます。
アコーディオンは、Collapseを複数まとめて使いやすくした部品だと考えると分かりやすいです。
2. 複数同時に開けるアコーディオンの基本構造
まずは、一つずつ独立して開閉できるアコーディオンを見てみましょう。この状態では、開いた項目は閉じなくても次を開けます。
これは、data-bs-parentを使っていない状態です。それぞれがバラバラに動くイメージです。
<div class="accordion">
<div class="accordion-item">
<h2 class="accordion-header">
<button class="accordion-button" data-bs-toggle="collapse" data-bs-target="#item1">
メニュー1
</button>
</h2>
<div id="item1" class="accordion-collapse collapse">
<div class="accordion-body">
内容1
</div>
</div>
</div>
</div>
ブラウザ表示
3. data-bs-parentを指定すると何が変わるのか
data-bs-parentを指定すると、「同じ親を持つCollapseは1つだけ開く」というルールが生まれます。
これは、本棚の引き出しに例えると分かりやすいです。一つの引き出しを開くと、他の引き出しは自動で閉まる仕組みです。
この指定があることで、アコーディオンらしい動きになります。
<div class="accordion" id="accordionSample">
<div class="accordion-item">
<h2 class="accordion-header">
<button class="accordion-button" data-bs-toggle="collapse" data-bs-target="#a1">
質問1
</button>
</h2>
<div id="a1" class="accordion-collapse collapse" data-bs-parent="#accordionSample">
<div class="accordion-body">
回答1
</div>
</div>
</div>
</div>
ブラウザ表示
4. 複数同時に開く場合の正しい考え方
複数同時に開きたい場合は、data-bs-parentを付けないことがポイントです。
初心者の方は「設定しないと動かないのでは?」と思いがちですが、Bootstrapは何も指定しなくても開閉はできます。
それぞれが自由に開くため、チェックリストや説明補足などに向いています。
<button class="btn btn-primary" data-bs-toggle="collapse" data-bs-target="#info">
詳細を見る
</button>
<div id="info" class="collapse mt-2">
<div class="card card-body">
補足説明の内容
</div>
</div>
ブラウザ表示
5. 1つだけ開きたいときの設定手順
1つだけ開く動きを作りたいときは、親となる要素にidを付け、そのidをdata-bs-parentで指定します。
ここでの親とは、見た目の親ではなく「グループの代表」という意味です。
全て同じ親を指定することで、Bootstrapが自動で制御してくれます。
<div class="accordion" id="menuGroup">
<div class="accordion-item">
<h2 class="accordion-header">
<button class="accordion-button" data-bs-toggle="collapse" data-bs-target="#m1">
メニューA
</button>
</h2>
<div id="m1" class="accordion-collapse collapse" data-bs-parent="#menuGroup">
<div class="accordion-body">
内容A
</div>
</div>
</div>
</div>
ブラウザ表示
6. data-bs-parentを使うときのよくある勘違い
よくある勘違いとして、button側にdata-bs-parentを書く人がいます。しかし、正しくはcollapseされる側に指定します。
また、idの指定ミスも多いです。シャープ記号を忘れると正しく動きません。
コピーして使う場合も、idが重複していないか必ず確認しましょう。
7. アコーディオンとCollapseの使い分けの考え方
アコーディオンは、情報を整理して1つずつ見せたいときに向いています。
一方で、Collapse単体は補足説明や注意書きなど、必要なときだけ表示したい場面に便利です。
data-bs-parentを使うかどうかで、使い道がはっきり分かれます。
8. 初心者が安心して使うためのポイント
最初は、複数同時に開くパターンから試すと理解しやすいです。
動きに慣れてから、data-bs-parentを追加すると違いがはっきり分かります。
画面の動きを実際に見ながら覚えることが、Bootstrap習得の近道です。
【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を楽しみながら、一緒に学びましょう!
各回少人数・マンツーマン形式で徹底サポート
このセミナーの詳細・お申し込みはこちら