Bootstrap4 ドロップダウンメニュー
この記事では、Bootstrap4 フレームワークでドロップダウンメニューコンポーネントを使用する方法について説明します。
---
1. ドロップダウンメニューの基本
ドロップダウンメニューは、ボタンやリンクをクリックしたときに表示される、アクションやオプションのリストです。Bootstrap4 では、以下の手順でドロップダウンメニューを作成できます。
<div class="dropdown">
を使用して、ドロップダウンメニューのコンテナを作成します。<button class="dropdown-toggle">
を使用して、ドロップダウンメニューのトリガーとなるボタンを作成します。<div class="dropdown-menu">
を使用して、ドロップダウンメニューのリストを作成します。- ドロップダウンメニューのリスト内で、
<a class="dropdown-item">
を使用して、ドロップダウンメニューの項目を作成します。
<div class="dropdown">
<button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
ドロップダウン
</button>
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
<a class="dropdown-item" href="#">アクション1</a>
<a class="dropdown-item" href="#">アクション2</a>
<a class="dropdown-item" href="#">アクション3</a>
</div>
</div>
2. ドロップダウンメニューの配置
デフォルトでは、ドロップダウンメニューはトリガー要素の下に表示されます。.dropdown-menu-right
クラスを使用すると、ドロップダウンメニューを右側に配置できます。
<div class="dropdown">
<button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
右側に配置
</button>
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="dropdownMenuButton">
<a class="dropdown-item" href="#">アクション1</a>
<a class="dropdown-item" href="#">アクション2</a>
<a class="dropdown-item" href="#">アクション3</a>
</div>
</div>
3. 区切り線
<div class="dropdown-divider">
を使用して、ドロップダウンメニューの項目間に区切り線を追加できます。
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
<a class="dropdown-item" href="#">アクション1</a>
<a class="dropdown-item" href="#">アクション2</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#">アクション3</a>
</div>
4. メニューヘッダー
<h6 class="dropdown-header">
を使用して、ドロップダウンメニューにヘッダーを追加できます。
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
<h6 class="dropdown-header">ヘッダー</h6>
<a class="dropdown-item" href="#">アクション1</a>
<a class="dropdown-item" href="#">アクション2</a>
</div>
5. ドロップダウンメニューの項目を無効にする
.disabled
クラスを使用して、ドロップダウンメニューの項目を無効にできます。
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
<a class="dropdown-item" href="#">アクション1</a>
<a class="dropdown-item disabled" href="#">アクション2</a>
<a class="dropdown-item" href="#">アクション3</a>
</div>
6. ドロップダウンメニューのプラグイン
Bootstrap4 のドロップダウンメニューは、JavaScript プラグインによって制御されます。プラグインを使用すると、ドロップダウンメニューの動作をカスタマイズできます。
データ属性
以下のデータ属性を使用して、ドロップダウンメニューの動作をカスタマイズできます。
データ属性 | 説明 |
---|---|
data-toggle="dropdown" |
ドロップダウンメニューをアクティブにします。 |
data-display="static" |
マウスホバー時にドロップダウンメニューを表示します。 |
data-offset="10,20" |
ドロップダウンメニューのオフセットを設定します。 |
JavaScript メソッド
以下の JavaScript メソッドを使用して、ドロップダウンメニューを制御できます。
メソッド | 説明 |
---|---|
$('.dropdown-toggle').dropdown() |
すべてのドロップダウンメニューを初期化します。 |
$('.dropdown-toggle').dropdown('toggle') |
ドロップダウンメニューの表示状態を切り替えます。 |
$('.dropdown-toggle').dropdown('show') |
ドロップダウンメニューを表示します。 |
$('.dropdown-toggle').dropdown('hide') |
ドロップダウンメニューを非表示にします。 |
7. 例
以下は、ドロップダウンメニューの例です。
ボタンのドロップダウンメニュー
<div class="dropdown">
<button class="btn btn-primary dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
ドロップダウンボタン
</button>
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
<a class="dropdown-item" href="#">アクション1</a>
<a class="dropdown-item" href="#">アクション2</a>
<a class="dropdown-item" href="#">アクション3</a>
</div>
</div>
関連情報
よくある質問
- Q: ドロップダウンメニューをクリックしても閉じないようにするにはどうすればよいですか?
A: ドロップダウンメニューのトリガー要素にdata-toggle="dropdown"
属性を追加しないでください。 - Q: ドロップダウンメニューを特定の要素にアタッチするにはどうすればよいですか?
A: ドロップダウンメニューのaria-labelledby
属性を使用して、トリガー要素の ID を指定します。 - Q: ドロップダウンメニューのスタイルを変更するにはどうすればよいですか?
A: ドロップダウンメニューのクラスに CSS を適用します。