カテゴリ: Bootstrap 更新日: 2026/08/21

Bootstrapドロップダウンの長いメニューをスクロール対応する方法を徹底解説

長いメニューのスクロール対応:max-height + .overflow-auto の実装
長いメニューのスクロール対応:max-height + .overflow-auto の実装

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

生徒

「Bootstrapのドロップダウンメニューが長くなりすぎて、画面からはみ出してしまいます。」

先生

「それはよくある問題ですね。スクロールできるように設定すれば解決できます。」

生徒

「スクロールって、どうやってつけるんですか?」

先生

「max-heightとoverflow-autoを使えば簡単に実装できます。それでは順番に見ていきましょう。」

1. Bootstrapドロップダウンとは何か

1. Bootstrapドロップダウンとは何か
1. Bootstrapドロップダウンとは何か

Bootstrapとは、見た目をきれいに整えるためのデザイン用テンプレートです。ドロップダウンとは、ボタンをクリックすると下にメニューが表示される仕組みのことです。例えば飲食店の注文画面でメニューを開く動きと同じです。

しかし、項目が多い場合、画面からはみ出してしまうことがあります。この問題を解決するのがスクロール対応です。

2. なぜ長いメニューは問題になるのか

2. なぜ長いメニューは問題になるのか
2. なぜ長いメニューは問題になるのか

メニューが長すぎると、スマートフォンでは画面全体を覆ってしまいます。パソコンでも下の項目が見えなくなります。利用者にとって操作しづらくなり、使いにくい画面になります。

そこで一定の高さを決めて、その中でスクロールできるようにします。これがmax-heightという設定です。高さの上限を決めるという意味です。

3. overflow-autoの意味を理解しよう

3. overflow-autoの意味を理解しよう
3. overflow-autoの意味を理解しよう

overflowとは、はみ出した内容の扱い方を決める設定です。autoは自動という意味です。つまり内容がはみ出したときだけスクロールバーを表示します。

難しく感じるかもしれませんが、箱の中にたくさん物を入れたとき、入りきらなければ自動で縦に動かせるようにする仕組みと考えるとわかりやすいです。

4. 基本的なスクロール対応の実装例

4. 基本的なスクロール対応の実装例
4. 基本的なスクロール対応の実装例

<div class="dropdown">
  <button class="btn btn-primary dropdown-toggle" data-bs-toggle="dropdown">
    メニュー
  </button>
  <ul class="dropdown-menu overflow-auto" style="max-height: 150px;">
    <li><a class="dropdown-item" href="#">項目1</a></li>
    <li><a class="dropdown-item" href="#">項目2</a></li>
    <li><a class="dropdown-item" href="#">項目3</a></li>
    <li><a class="dropdown-item" href="#">項目4</a></li>
    <li><a class="dropdown-item" href="#">項目5</a></li>
    <li><a class="dropdown-item" href="#">項目6</a></li>
  </ul>
</div>
ブラウザ表示

この例では、dropdown-menuにoverflow-autoを追加し、高さを150pxに制限しています。これにより、長いドロップダウンメニューがスクロール可能になります。

5. CSSでまとめて設定する方法

5. CSSでまとめて設定する方法
5. CSSでまとめて設定する方法

<style>
.scroll-menu {
    max-height: 200px;
    overflow-y: auto;
}
</style>

<div class="dropdown">
  <button class="btn btn-success dropdown-toggle" data-bs-toggle="dropdown">
    商品一覧
  </button>
  <ul class="dropdown-menu scroll-menu">
    <li><a class="dropdown-item" href="#">商品A</a></li>
    <li><a class="dropdown-item" href="#">商品B</a></li>
    <li><a class="dropdown-item" href="#">商品C</a></li>
    <li><a class="dropdown-item" href="#">商品D</a></li>
  </ul>
</div>
ブラウザ表示

CSSでクラスを作ることで、何度も同じ設定を書かずにすみます。overflow-yは縦方向だけスクロールさせるという意味です。

6. 画像付きメニューの場合の注意点

6. 画像付きメニューの場合の注意点
6. 画像付きメニューの場合の注意点

<div class="dropdown">
  <button class="btn btn-warning dropdown-toggle" data-bs-toggle="dropdown">
    写真メニュー
  </button>
  <ul class="dropdown-menu overflow-auto" style="max-height: 180px;">
    <li><a class="dropdown-item" href="#"><img src="/img/sample120-120.jpg"> メニュー1</a></li>
    <li><a class="dropdown-item" href="#"><img src="/img/sample120-120.jpg"> メニュー2</a></li>
    <li><a class="dropdown-item" href="#"><img src="/img/sample120-120.jpg"> メニュー3</a></li>
  </ul>
</div>
ブラウザ表示

画像がある場合は高さが大きくなりやすいため、max-heightを調整することが大切です。

7. スマートフォン対応の考え方

7. スマートフォン対応の考え方
7. スマートフォン対応の考え方

Bootstrapはスマートフォンにも対応しています。しかし画面が小さいため、スクロール設定は特に重要です。max-heightを小さめに設定すると見やすくなります。

利用者の目線で考え、見やすさと操作しやすさを意識することが大切です。

8. よくある間違いと対処法

8. よくある間違いと対処法
8. よくある間違いと対処法

overflow-autoをつけ忘れるとスクロールは表示されません。またmax-heightを設定しないと高さ制限がなくなります。両方を必ず組み合わせて使うことが重要です。

Bootstrap5ではユーティリティクラスが豊富に用意されているため、できるだけ標準機能を活用すると管理しやすくなります。

まとめ

まとめ
まとめ

今回はBootstrapドロップダウンの長いメニューをスクロール対応する方法について詳しく学びました。Bootstrap5のドロップダウンは非常に便利なUIコンポーネントですが、メニュー項目が増えると画面からはみ出してしまう問題が発生します。特にスマートフォン表示やレスポンシブデザイン環境では、操作性やユーザビリティに大きく影響します。

その解決策として重要になるのがmax heightとoverflow autoの設定です。max heightは高さの上限を指定する役割があり、overflow autoは内容がはみ出した場合に自動でスクロールバーを表示する役割を持ちます。この二つを正しく組み合わせることで、長いドロップダウンメニューでも見やすく使いやすい画面設計が可能になります。

また、Bootstrapにはoverflow autoというユーティリティクラスが用意されているため、特別なJavaScriptを書かなくてもHTMLだけで簡単にスクロール対応を実装できます。これは初心者にとって非常に大きなメリットです。複雑なプログラムを書かなくても、クラスを追加するだけで動作する点はBootstrapの強みといえます。

CSSでscroll menuのような専用クラスを定義すれば、複数箇所で同じ設定を再利用できます。保守性や管理のしやすさという観点からも、共通クラスを作る方法は実務でもよく使われます。特にWeb制作やフロントエンド開発の現場では、再利用可能な設計が重要になります。

画像付きメニューの場合は高さが増えやすいため、max heightの値を慎重に調整する必要があります。デザインだけでなく、操作性や視認性も考慮しながら数値を決めることが大切です。Bootstrapのドロップダウンスクロール設定は、UIデザインとユーザー体験の向上に直結する重要なテクニックです。

スマートフォン対応を考える場合は、画面サイズに応じて高さを変更する工夫も有効です。レスポンシブデザインを意識しながら、使いやすいドロップダウンメニューを設計しましょう。Bootstrap5のユーティリティクラスを活用すれば、初心者でも効率よく美しいインターフェースを構築できます。

Bootstrapドロップダウンのスクロール対応は、単なる見た目の改善ではなく、ユーザビリティ向上、操作性改善、モバイル対応強化という観点でも非常に重要です。overflow autoとmax heightの基本を理解することで、長いメニュー問題を確実に解決できるようになります。

サンプルプログラムの振り返り

<style>
.dropdown-scroll {
    max-height: 160px;
    overflow-y: auto;
}
</style>

<div class="dropdown">
  <button class="btn btn-primary dropdown-toggle" data-bs-toggle="dropdown">
    カテゴリー一覧
  </button>
  <ul class="dropdown-menu dropdown-scroll">
    <li><a class="dropdown-item" href="#">カテゴリー1</a></li>
    <li><a class="dropdown-item" href="#">カテゴリー2</a></li>
    <li><a class="dropdown-item" href="#">カテゴリー3</a></li>
    <li><a class="dropdown-item" href="#">カテゴリー4</a></li>
    <li><a class="dropdown-item" href="#">カテゴリー5</a></li>
    <li><a class="dropdown-item" href="#">カテゴリー6</a></li>
    <li><a class="dropdown-item" href="#">カテゴリー7</a></li>
  </ul>
</div>
ブラウザ表示

このようにクラスを定義しておけば、Bootstrap5環境で何度でも再利用できます。HTMLとCSSの基礎を理解しながら実装することが、フロントエンド開発力向上につながります。

先生と生徒の振り返り会話

生徒

ドロップダウンメニューが長いときは見にくくなる理由がよくわかりました。高さを制限しないと画面からはみ出してしまうのですね。

先生

その通りです。max heightで上限を決めて、overflow autoで自動スクロールにすることが基本です。

生徒

Bootstrapには便利なクラスが用意されているので、初心者でも簡単に実装できるのが嬉しいです。

先生

はい。ユーティリティクラスを活用することで、無駄なコードを書かずに効率よく開発できます。スマートフォン対応やレスポンシブデザインも意識するとさらに良くなります。

生徒

これからはユーザー目線で見やすいメニュー設計を心がけます。Bootstrapドロップダウンのスクロール対応をしっかり活用します。

先生

その姿勢が大切です。基礎を理解すれば応用も自在になります。これで長いメニュー問題は安心ですね。

2026年最新 スキルアップ・実践セミナー

【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つの革新スキル

1. グリッドシステムの完全マスター

スマホ・タブレット・PCでレイアウトを自由自在に切り替える「ブレイクポイント」の極意を学びます。

2. ユーティリティクラスによる爆速デザイン

CSSを1行も書かずに、マージン・パディング・カラーを制御。開発工数を半分以下にする実戦術を習得します。

3. 脱・標準デザインのカスタマイズ

「Bootstrap感」を消し、独自のブランドイメージに合わせるための、上書きの作法とデザインの整え方を伝授します。

※本講座は、HTML/CSSの基本を理解した方向けの「実践加速講座」です。制作会社のコーダーや副業フリーランスとして「案件の回転率」を上げ、市場価値を最大化させたい方をモクモクがバックアップします。

【60分集中】CSSを1行も書かない!?Bootstrap 5ユーティリティクラス活用で開発工数を50%削減

Bootstrap 5を楽しみながら、一緒に学びましょう!

各回少人数・マンツーマン形式で徹底サポート

このセミナーの詳細・お申し込みはこちら
カテゴリの一覧へ
新着記事
New1
CSS
CSSでdisplayの違いを図解で理解!block・inline・inline-blockの使い方
New2
CSS
CSSのwidthとheightの基本!初心者でもわかる単位の使い分け
New3
CSS
z-indexによるバグを防ぐためのデバッグ方法完全ガイド!初心者向け解決テクニック
New4
HTML
HTML data-*属性とJavaScript連携を完全解説!datasetでカスタムデータを取得する方法
人気記事
No.1
Java&Spring記事人気No1
HTML
HTML inputタグとは?フォーム入力を担う基本要素を初心者向けに完全解説
No.2
Java&Spring記事人気No2
HTML
HTML formのaction URL設計を完全解説|送信先の考え方を初心者でも理解
No.3
Java&Spring記事人気No3
CSS
CSSで要素のサイズを自動調整!autoとfit-contentの使い方
No.4
Java&Spring記事人気No4
CSS
レイヤー管理に便利なCSS変数とSCSS変数の活用法完全ガイド!初心者向け解説
No.5
Java&Spring記事人気No5
HTML
HTMLのformタグの書き方を完全ガイド!actionとmethod属性の意味を初心者向けにやさしく解説
No.6
Java&Spring記事人気No6
CSS
CSSのnth-child()を完全攻略!特定の順番にスタイルを当てる方法
No.7
Java&Spring記事人気No7
Bootstrap
Bootstrapで学ぶレスポンシブな並び方向の使い方完全ガイド!flex-rowとflex-columnを初心者向けにやさしく解説
No.8
Java&Spring記事人気No8
Bootstrap
Bootstrapモーダルの基本実装を完全解説!data-bs-toggleとdata-bs-targetで簡単に開閉しよう