パンくずリスト付きヘッダーを作る方法【HTML/CSS・サンプルコード付き】

ヘッダー

パンくずリスト付きヘッダーを作る方法

パンくずリスト付きヘッダーを作る方法を紹介します。このサンプルでは、サイト名とメインメニューを配置したヘッダーの下にパンくずリストを表示します。「ホーム > サービス > Web制作」のように現在のページまでの階層を順番に表示することで、利用者がサイト内のどの位置にいるのかを確認しやすいヘッダーを作成できます。

ヘッダーには「Sample Site」のサイト名と、「ホーム」「サービス」「会社概要」「お問い合わせ」のメインメニューを配置します。その直下にパンくずリストを設け、上位ページにはリンクを設定し、現在のページはリンクを付けずに表示します。企業サイトやサービスサイト、ECサイトなど、複数の階層を持つWebサイトで現在位置を分かりやすく案内したい場合に利用できます。

サイト名、メニュー項目、パンくずリストの表示内容とリンク先はHTMLから変更できます。CSSではヘッダーの最大横幅、余白、メニューの間隔、パンくずリストの背景色、文字サイズ、区切り記号の色などを調整できます。画面幅768px以下ではヘッダー内を縦方向へ配置し、メニューとパンくずリストを折り返して表示するため、スマートフォン・タブレット・PCで利用できます。JavaScriptを使用せず、HTMLとCSSだけで実装できます。

コードについて 本記事のコードはサンプルコードです。ご利用前に必ず動作確認を行ってください。
免責事項 本コードの利用により発生した損害について、当サイトは一切の責任を負いません。

デモ

ヘッダー下に「ホーム > サービス > Web制作」の順で表示されるパンくずリストを確認してください。

コードをコピーして使おう!

<!DOCTYPE html>
<html lang="ja">
<head>

  <!-- 文字コード -->
  <meta charset="UTF-8">

  <!-- スマートフォン対応 -->
  <meta name="viewport" content="width=device-width, initial-scale=1.0">

  <!-- ページタイトル -->
  <title>パンくずリスト付きヘッダー</title>

  <!-- CSSファイル -->
  <link rel="stylesheet" href="style.css">

</head>
<body>

  <!-- ヘッダー -->
  <header class="breadcrumb-header_header">

    <div class="breadcrumb-header_inner">

      <!-- サイト名 -->
      <div class="breadcrumb-header_logo">
        Sample Site
      </div>

      <!-- メインメニュー -->
      <nav class="breadcrumb-header_nav" aria-label="メインメニュー">
        <a href="#">ホーム</a>
        <a href="#">サービス</a>
        <a href="#">会社概要</a>
        <a href="#">お問い合わせ</a>
      </nav>

    </div>

  </header>

  <!-- パンくずリスト -->
  <nav class="breadcrumb-header_breadcrumb" aria-label="パンくずリスト">

    <ol class="breadcrumb-header_breadcrumb-list">

      <!-- ホーム -->
      <li class="breadcrumb-header_breadcrumb-item">
        <a href="#">ホーム</a>
      </li>

      <!-- 上位ページ -->
      <li class="breadcrumb-header_breadcrumb-item">
        <a href="#">サービス</a>
      </li>

      <!-- 現在のページ -->
      <li class="breadcrumb-header_breadcrumb-item">
        <span class="breadcrumb-header_current" aria-current="page">
          Web制作
        </span>
      </li>

    </ol>

  </nav>

  <!-- ページ内容 -->
  <main class="breadcrumb-header_content">

    <!-- ページタイトル -->
    <p class="breadcrumb-header_content-title">
      パンくずリスト付きヘッダー
    </p>

    <!-- 説明文 -->
    <p class="breadcrumb-header_content-text">
      ヘッダーの下に現在のページまでの階層を表示します。
    </p>

  </main>

</body>
</html>
コードをコピーする場合 使用するコードのタブを選び、「このタブをコピー」をクリックすると、現在表示中のコードをコピーできます。
サンプル一式を取得する場合 HTML・CSSなどすべてのファイルが必要な場合は、「サンプル一式をダウンロード」をクリックしてください。
Q ダウンロードしたけど、これをネット上で動かすにはどうするの?
A

Googleアカウントがあれば、InfinityFreeで無料サーバーを作成して、ダウンロードしたサンプルをネット上で動かせます。

InfinityFreeを初めて利用する場合は①から、すでにサーバーを作成している場合は②へ進んでください。

ファイル構成と設置方法

このサンプルはHTMLとCSSの2ファイルで構成されています。HTMLではサイト名とメインメニューを持つヘッダー、その下に現在のページまでの階層を示すパンくずリストを作成します。CSSではヘッダーとパンくずリストの横幅、余白、文字サイズ、色、境界線、メニューの配置、画面幅に応じた折り返しなどを設定します。JavaScriptは使用しません。

sample/
    ├── index.html
    └── style.css

各ファイルの役割
index.htmlはヘッダーとパンくずリストを構成するファイルです。「Sample Site」のサイト名、メインメニュー、「ホーム」「サービス」「Web制作」のパンくず項目を変更できます。上位ページはa要素のhref属性へリンク先を設定し、現在のページはaria-current="page"を付けた要素として表示します。

style.cssはヘッダーとパンくずリストのデザインを設定するファイルです。ヘッダーの余白や最大横幅、メニューの間隔、パンくずリストの背景色、文字サイズ、項目間隔、区切り記号の色、現在のページの文字色などを変更できます。768px以下でヘッダー内の配置を変更し、メニューとパンくず項目を折り返すレスポンシブ表示も設定しています。

設置方法・使い方
sampleフォルダへindex.htmlとstyle.cssを配置します。2つのファイルを同じ階層へ保存したあと、sample/index.htmlをブラウザで開いてください。ヘッダーの下に「ホーム > サービス > Web制作」の順でパンくずリストが表示されます。実際のサイトで使用する場合は、index.htmlのパンくず項目をページの階層に合わせて変更し、上位ページのa要素のhref属性へそれぞれの移動先を設定してください。

カスタマイズできる内容
index.htmlではサイト名、メインメニューの項目名とリンク先、パンくずリストの階層、各項目の表示文字とリンク先を変更できます。表示するページに合わせてパンくず項目を追加・削除し、最後の項目を現在のページとして表示できます。

style.cssではヘッダーの背景色、余白、最大横幅、メニューの文字サイズや間隔、パンくずリストの背景色、上下左右の余白、項目間隔、文字サイズ、区切り記号の色、現在のページの文字色などを変更できます。

数値調整
style.css
padding:28px 40px;
ヘッダーの内側余白です。上下の28pxを大きくするとヘッダーが高くなり、左右の40pxを大きくすると画面端との間隔が広がります。

max-width:1200px;
ヘッダー内部とパンくずリストの最大横幅です。値を大きくすると内容を配置できる範囲が横に広がり、小さくすると中央へまとまった表示になります。

gap:40px;
サイト名とメインメニューの間隔です。値を大きくすると両者の間隔が広がり、小さくすると近くなります。

gap:8px 24px;
メインメニューのリンク同士の間隔です。8pxは折り返した場合の縦方向、24pxは横方向の間隔です。値を大きくするとメニュー同士の間隔が広がります。

padding:14px 40px;
パンくずリスト全体の内側余白です。上下の14pxを大きくすると表示部分が高くなり、左右の40pxを大きくすると画面端との間隔が広がります。

gap:8px;
パンくず項目と区切り記号の間隔です。値を大きくすると各要素の間隔が広がり、小さくすると近くなります。

font-size:13px;
パンくずリストの文字サイズです。値を大きくすると文字が大きくなり、小さくするとコンパクトになります。

padding:80px 24px;
ページ内容の内側余白です。上下の80pxを大きくするとパンくずリストとページ内容の間隔が広がり、左右の24pxを大きくすると画面端との間隔が広がります。

レスポンシブ対応
このサンプルはレスポンシブ対応です。style.cssのwidth:100%とmax-width:1200pxにより、ヘッダーとパンくずリストが画面幅に合わせて調整されます。また、@media (max-width:768px)ではサイト名とメインメニューを縦方向へ配置し、メインメニューとパンくずリストには折り返しを設定しています。左右の余白も20pxへ縮小するため、スマートフォン・タブレット・PCで利用できます。


こちらもおすすめ


コメント