Bootstrap

Bootstrapナビバーの作り方|レスポンシブ対応ナビゲーション

Bootstrap ナビゲーション レスポンシブ

Bootstrapナビバーの作り方
レスポンシブ対応ナビゲーション

Bootstrapのnavbarコンポーネントを使えば、PC表示ではメニューが横並び、スマホ表示ではハンバーガーメニューに切り替わるナビゲーションバーを簡単に作れます。
この記事では、基本的なナビバーの構築からカスタマイズまでを解説します。

こんな人向けの記事です

  • サイトにナビゲーションバーを追加したい
  • スマホ対応のハンバーガーメニューを実装したい
  • Bootstrapのnavbarコンポーネントの使い方を知りたい

Step 1最小構成のナビバー

まずは最小限のナビバーを作ります。navbarnavbar-expand-lg がベースのクラスです。

MySite
HTML
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
  <div class="container">
    <a class="navbar-brand" href="#">MySite</a>
  </div>
</nav>
クラス役割
navbarナビバーの基本スタイルを適用
navbar-expand-lg992px以上でメニューを展開、未満でハンバーガー
navbar-darkテキストを白系にする(暗い背景用)
bg-dark背景色を暗くする
navbar-brandサイト名やロゴ部分

Step 2ナビリンクを追加する

navbar-nav の中に nav-itemnav-link でリンクを追加します。

MySite ホーム 機能 料金
HTML
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
  <div class="container">
    <a class="navbar-brand" href="#">MySite</a>
    <ul class="navbar-nav">
      <li class="nav-item">
        <a class="nav-link active" href="#">ホーム</a>
      </li>
      <li class="nav-item">
        <a class="nav-link" href="#">機能</a>
      </li>
      <li class="nav-item">
        <a class="nav-link" href="#">料金</a>
      </li>
    </ul>
  </div>
</nav>
activeクラスについて
現在のページに対応するリンクに active クラスを付けると、そのリンクが強調表示されます。ユーザーが今どのページにいるかを視覚的に示せます。

Step 3ハンバーガーメニュー(レスポンシブ対応)

スマホ表示でハンバーガーアイコンを表示し、クリックでメニューを開閉できるようにします。

HTML
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
  <div class="container">
    <a class="navbar-brand" href="#">MySite</a>

    <!-- ハンバーガーボタン(スマホ表示時のみ出現) -->
    <button class="navbar-toggler" type="button"
            data-bs-toggle="collapse"
            data-bs-target="#navMenu">
      <span class="navbar-toggler-icon"></span>
    </button>

    <!-- メニュー本体(スマホでは折りたたまれる) -->
    <div class="collapse navbar-collapse" id="navMenu">
      <ul class="navbar-nav">
        <li class="nav-item">
          <a class="nav-link active" href="#">ホーム</a>
        </li>
        <li class="nav-item">
          <a class="nav-link" href="#">機能</a>
        </li>
        <li class="nav-item">
          <a class="nav-link" href="#">料金</a>
        </li>
      </ul>
    </div>
  </div>
</nav>
data-bs-target と id を一致させる
data-bs-target="#navMenu"id="navMenu" が一致していないとメニューが開閉しません。
また、Bootstrap 5 の JavaScript(bootstrap.bundle.min.js)の読み込みが必要です。

Step 4配色を変更する

背景色は bg-* クラスで簡単に変更できます。

クラス背景色テキスト設定
bg-darknavbar-dark と組み合わせ
bg-primarynavbar-dark と組み合わせ
bg-light白/薄グレーnavbar-light と組み合わせ
bg-successnavbar-dark と組み合わせ
bg-warningnavbar-light と組み合わせ
navbar-dark と navbar-light の使い分け
背景が暗い色 → navbar-dark(テキストが白系になる)
背景が明るい色 → navbar-light(テキストが黒系になる)

Step 5ドロップダウンメニュー

ナビバーにドロップダウンメニューを追加することもできます。

HTML
<li class="nav-item dropdown">
  <a class="nav-link dropdown-toggle" href="#"
     data-bs-toggle="dropdown">
    サービス
  </a>
  <ul class="dropdown-menu">
    <li><a class="dropdown-item" href="#">Web制作</a></li>
    <li><a class="dropdown-item" href="#">アプリ開発</a></li>
    <li><hr class="dropdown-divider"></li>
    <li><a class="dropdown-item" href="#">お問い合わせ</a></li>
  </ul>
</li>

まとめ

Bootstrapのnavbarを使えば、レスポンシブ対応のナビゲーションバーが少ないコードで実装できます。

  • navbar + navbar-expand-lg がベース
  • navbar-toggler でハンバーガーメニューを実現
  • collapse navbar-collapse で開閉するメニュー本体を囲む
  • bg-*navbar-dark/light で配色を調整
  • dropdown で階層メニューも追加可能