このページの中身

パンくず

ナビ / パターン集トップ

現在位置を示す。最後の項目はリンクにしない

プレビュー#

この枠の中は出発点のCSSの上で動いています。下のコードは、そちらを先に貼ってから足してください。

コピーする#

上のプレビューでつまみを動かし、「生成する」で調整を反映したコードを作ってからコピーしてください。下の欄は生成の元になる型で、直接コピーするものではありません。

<nav class="breadcrumb" aria-label="パンくず">
  <ol class="breadcrumb__list">
    <li><a href="/">トップ</a></li>
    <li><a href="/layout/">レイアウト</a></li>
    <li><a href="/layout/grid/">グリッド</a></li>
    <li><span aria-current="page">サブグリッド</span></li>
  </ol>
</nav>
.breadcrumb__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  column-gap: var(--space-2);
  row-gap: var(--space-6);   /* 折り返したとき、44px の当たり判定どうしを8px以上あける */
  font-size: var(--text-sm);
  color: var(--color-text-muted);
}
.breadcrumb__list li {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
}
/* 区切りは目印であって、読み上げる語ではない。
   2行目の「/ ""」が生成内容の代替テキスト。対応する環境では読み上げから外れ、
   対応しない環境では1行目がそのまま残るので、見た目は必ず出る */
.breadcrumb__list li:not(:last-child)::after {
  content: "/";
  content: "/" / "";
  color: var(--color-border);
}
/* 文字の行は25pxしかない。パンくずを高くすると本文が下へ逃げるので、
   擬似要素だけを44pxに伸ばす。見た目は動かさず、当たり判定だけが広がる */
.breadcrumb__list a {
  position: relative;
  color: var(--color-accent-text);
  text-decoration: none;
}
.breadcrumb__list a::after {
  content: "";
  position: absolute;
  inset-inline: 0;
  inset-block-start: 50%;
  block-size: 2.75rem;
  translate: 0 -50%;
}
.breadcrumb__list [aria-current="page"] {
  color: var(--color-text);
}

確認する#

関連#

この資料は、Webサイトを作るときに引くためのものです。 何のために作ったか。作っているのは AK²Lab。