カテゴリ: 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ページの上部に表示されるメニューのことで、「ホーム」「サービス」「お問い合わせ」などのリンクが並び、訪問者がページ内を迷わず移動できるようにするためのものです。
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のcolumn-countを完全ガイド!初心者でもわかる複数列レイアウトの作り方
New2
CSS
CSSのz-indexとposition完全ガイド!初心者でもわかる要素を重ねる方法
New3
Bootstrap
Bootstrapオフキャンバス入門:.offcanvasと.offcanvas-start・end・top・bottomの基本をやさしく解説
New4
CSS
CSSのoverflowプロパティ完全ガイド!初心者でもわかるvisible・hidden・scroll・autoの違い
人気記事
No.1
Java&Spring記事人気No1
CSS
CSSで文字の間隔を調整する方法!初心者でもわかるletter-spacingとword-spacingの使い方
No.2
Java&Spring記事人気No2
CSS
CSSで要素のサイズを自動調整!autoとfit-contentの使い方
No.3
Java&Spring記事人気No3
CSS
CSSのmarginとpaddingの違いとは?初心者でもわかるボックス間のスペース調整の基本
No.4
Java&Spring記事人気No4
CSS
CSSのoverflowプロパティ完全ガイド!初心者でもわかるvisible・hidden・scroll・autoの違い
No.5
Java&Spring記事人気No5
Bootstrap
Bootstrap Iconsのライセンスと商用利用の注意点【著作権と表記を初心者向けに解説】
No.6
Java&Spring記事人気No6
CSS
CSSの文字色と背景色をやさしく解説!初心者でもわかる基本の設定方法
No.7
Java&Spring記事人気No7
HTML
HTMLのliタグとは?初心者でもわかるul・ol内での正しい役割を完全解説
No.8
Java&Spring記事人気No8
CSS
CSSの状態によるセレクタ完全ガイド!初心者でもわかる:checkedと:disabledの使い方