カテゴリ: Bootstrap 更新日: 2026/01/05

Bootstrapのナビゲーションバーを固定する方法!初心者でもわかるスターターテンプレートと重なり対策

Navbar固定(fixed/sticky)のスターターとコンテンツ被り対策
Navbar固定(fixed/sticky)のスターターとコンテンツ被り対策

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

生徒

「ページの上にあるメニュー(ナビバー)を固定してスクロールしても動かないようにできますか?」

先生

「はい、Bootstrapを使えば簡単に固定できますよ。fixed-topsticky-topというクラスを使います。」

生徒

「でも、固定すると下の文字がナビバーと重なって見えづらくなりませんか?」

先生

「その通り!だからこそ、重なりを防ぐための調整も必要なんです。具体的に見てみましょう。」

1. ナビゲーションバー(ナビバー)とは何か?

1. ナビゲーションバー(ナビバー)とは何か?
1. ナビゲーションバー(ナビバー)とは何か?

ナビバーとは、Webページの一番上にある「メニュー」のことです。たとえば、「ホーム」「サービス」「お問い合わせ」などのリンクが並んでいる部分を指します。ナビバーがあることで、訪問者が迷わずにページを移動できます。

2. Bootstrapでナビバーを固定する方法

2. Bootstrapでナビバーを固定する方法
2. Bootstrapでナビバーを固定する方法

ナビバーを固定すると、スクロールしても常に画面の上に表示され続けます。Bootstrapでは、次の2種類があります。

  • fixed-top:常に画面の最上部に固定
  • sticky-top:スクロールしてナビバーが画面上に到達したら固定

どちらもクラスを1つ追加するだけなので、HTML初心者でも簡単に実装できます。

3. 固定ナビバーによるコンテンツの重なりとは?

3. 固定ナビバーによるコンテンツの重なりとは?
3. 固定ナビバーによるコンテンツの重なりとは?

ナビバーを固定にすると、次に表示される本文(コンテンツ)がその下に来てしまい、「文字が見えない」「ナビバーとかぶってしまう」などの問題が起きます。

これは、ナビバーが上に張り付いているため、下のコンテンツと重なってしまうからです。

たとえるなら、「透明なふたを上に置いて、その下に紙を滑り込ませたら、ふたで文字が隠れてしまう」といったイメージです。

4. コンテンツがナビバーと重ならないようにする対策

4. コンテンツがナビバーと重ならないようにする対策
4. コンテンツがナビバーと重ならないようにする対策

重なりを防ぐには、上の余白(マージン)や内側の余白(パディング)を使って、ナビバーの高さ分だけ下げる必要があります。

たとえば、ナビバーの高さが56pxであれば、本文の最初にpadding-top: 56px;をつければOKです。

Bootstrapではpt-5mt-5などの便利なクラスも使えますが、今回はCSSで数値指定をして調整する方法を紹介します。

5. Bootstrapスターターテンプレートに組み込んだHTMLサンプル

5. Bootstrapスターターテンプレートに組み込んだHTMLサンプル
5. Bootstrapスターターテンプレートに組み込んだHTMLサンプル

以下に、ナビバーを固定しつつ、本文と重ならないように調整したスターターテンプレートを紹介します。


<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <title>固定ナビバーのサンプル</title>
  <meta name="description" content="Bootstrapでナビゲーションバーを固定する方法と、コンテンツが重ならないようにする対策を初心者向けに解説。">
  <meta name="keywords" content="Bootstrap, ナビゲーションバー, ナビバー固定, fixed-top, sticky-top, スターターテンプレート, HTML初心者">
  <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
  <link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.5/font/bootstrap-icons.css" rel="stylesheet">
  <style>
    body {
      padding-top: 56px;
    }
  </style>
</head>
<body>
  <nav class="navbar navbar-expand-lg navbar-dark bg-dark fixed-top">
    <div class="container-fluid">
      <a class="navbar-brand" href="#">MySite</a>
      <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav">
        <span class="navbar-toggler-icon"></span>
      </button>
      <div class="collapse navbar-collapse" id="navbarNav">
        <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>

  <div class="container mt-4">
    <h1 class="mb-4">固定ナビバーとコンテンツの調整</h1>
    <p>このように、ナビバーを固定しても、上の余白(padding-top)を設定することで、本文が隠れずにしっかり表示されます。</p>
    <p>Bootstrapでは便利なクラスを組み合わせることで、初心者でも見やすいWebページを作成できます。</p>
   <br><br><br><br><br>
    <p>※ナビバーが固定されて表示されています</p>
  </div>

  <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>
ブラウザ表示

6. sticky-topとfixed-topの違いも覚えておこう

6. sticky-topとfixed-topの違いも覚えておこう
6. sticky-topとfixed-topの違いも覚えておこう

ナビバーをスクロールしても常に表示させたい場合はfixed-top、ページの途中にある要素をスクロールで画面上部に張り付けたい場合はsticky-topを使います。

今回はナビバーのように常に上に表示させたいので、fixed-topが適しています。

7. スマホでも見やすいデザインの工夫

7. スマホでも見やすいデザインの工夫
7. スマホでも見やすいデザインの工夫

Bootstrapでは、スマホでも見やすいように、ナビバーが折りたたまれてハンバーガーメニューになります。ボタンを押すと展開される仕組みになっているので、初心者でも簡単にスマホ対応ができます。

ナビバーの構造と重なり対策を知っておくことで、Webサイト全体の見た目と使いやすさがアップします。

まとめ

まとめ
まとめ

Bootstrapのナビゲーションバー固定を正しく理解しよう

今回の記事では、Bootstrapを使ってナビゲーションバーを固定する方法について、 初心者の方でも理解しやすいように、基礎から順番に解説してきました。 ナビゲーションバーは、Webサイト全体の使いやすさを大きく左右する重要な要素です。 常に画面の上に表示されていれば、ユーザーは迷うことなく別のページへ移動でき、 サイト全体の操作性も向上します。 その一方で、固定ナビバーには「コンテンツと重なってしまう」という、 初心者が必ずといっていいほど直面する問題があります。

Bootstrapでは、ナビゲーションバーを固定するために fixed-topsticky-top というクラスが用意されています。 fixed-top は常に画面の最上部に固定されるため、 サイト全体でナビバーを表示し続けたい場合に向いています。 一方で sticky-top は、スクロール位置によって固定される仕組みなので、 ページ途中の要素を追従させたいときに便利です。 それぞれの違いを理解して使い分けることが、見やすいレイアウト作りにつながります。

重なり問題を防ぐための考え方

固定ナビバーで最も重要なのが「重なり対策」です。 ナビバーを fixed-top で固定すると、 ナビバーは通常のレイアウトの流れから外れ、 画面の上に重なって表示されます。 その結果、本文の最初の見出しや文章が ナビバーの裏に隠れてしまう現象が起こります。

この問題を解決するためには、 ナビバーの高さ分だけ、本文全体を下にずらす必要があります。 記事内で紹介したように、 bodypadding-top を指定する方法は、 最もシンプルで分かりやすい対策です。 ナビバーの高さを意識して数値を設定することで、 コンテンツが隠れず、自然なレイアウトを保つことができます。

まとめとしてのシンプルな固定ナビバー確認サンプル

ここで、今回学んだ内容をコンパクトにまとめたサンプルコードを確認してみましょう。 ナビバーを固定し、重なりを防ぐ基本構成になっています。


<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <title>固定ナビバー確認</title>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
    <style>
        body {
            padding-top: 56px;
        }
    </style>
</head>
<body>

<nav class="navbar navbar-dark bg-dark fixed-top">
    <div class="container-fluid">
        <a class="navbar-brand" href="#">SampleSite</a>
    </div>
</nav>

<div class="container mt-4">
    <h1>本文コンテンツ</h1>
    <p>
        ナビゲーションバーが固定されていても、
        本文が隠れずに表示されています。
    </p>
</div>

<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>
ブラウザ表示

このように、固定ナビバーと余白調整をセットで考えることで、 初心者でも安心してナビゲーションバーを実装できます。 見た目だけでなく、ユーザーがストレスなく操作できるかどうかを意識することが、 良いWebサイト作りの第一歩です。

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

生徒

「ナビバーを固定するときって、 ただクラスを付けるだけじゃなくて、 下のコンテンツとの関係も考えないといけないんですね。」

先生

「その通りです。 固定ナビバーはとても便利ですが、 重なり対策まで含めて初めて完成といえます。」

生徒

「padding-topを入れる理由が分かって、 これからは自分で調整できそうです。」

先生

「良い理解ですね。 今回学んだ考え方は、 Bootstrap以外のレイアウトでも応用できます。 ぜひ実際のページ制作で活かしてください。」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

ナビゲーションバー(ナビバー)とは何のために使うものですか?

ナビゲーションバー(ナビバー)とは、Webページの上部に表示されるメニューのことで、「ホーム」「サービス」「お問い合わせ」などのリンクが並び、訪問者がページ内を迷わず移動できるようにするためのものです。
カテゴリの一覧へ
新着記事
New1
CSS
CSS Gridテンプレート集!よく使うWebレイアウトの作り方
New2
HTML
HTML head要素とは?meta・titleの役割と基本を解説
New3
Bootstrap
Bootstrap固定比率カラム完全ガイド!.col-6・.col-md-4の使い方とベストプラクティスを初心者向けに解説
New4
CSS
CSS Gridとメディアクエリで作る!レスポンシブデザイン完全入門
人気記事
No.1
Java&Spring記事人気No1
HTML
HTMLでできること・できないこと|初心者が迷う点を整理
No.2
Java&Spring記事人気No2
CSS
CSSの入れ子構造セレクタ完全ガイド!初心者でもわかる書き方と使い方
No.3
Java&Spring記事人気No3
CSS
CSS Gridの配置を視覚的にデザイン!grid-template-areasの設計方法
No.4
Java&Spring記事人気No4
CSS
CSSの文字色と背景色の組み合わせで読みやすさアップ!初心者でもわかる可読性の改善方法
No.5
Java&Spring記事人気No5
CSS
CSSで要素のサイズを自動調整!autoとfit-contentの使い方
No.6
Java&Spring記事人気No6
Bootstrap
Bootstrap5グリッドとは?12分割の基本とrow・col・gutterを初心者向けにやさしく解説
No.7
Java&Spring記事人気No7
HTML
HTML html/head/bodyタグの役割|文書構造の基本を整理
No.8
Java&Spring記事人気No8
HTML
HTML文書構造を正しく書く重要性|SEOと保守性の観点