パンくずリスト付きヘッダーを作る方法
パンくずリスト付きヘッダーを作る方法を紹介します。このサンプルでは、サイト名とメインメニューを配置したヘッダーの下にパンくずリストを表示します。「ホーム > サービス > 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 ダウンロードしたけど、これをネット上で動かすにはどうするの?
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で利用できます。
コメント