Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

Breadcrumb-Navigation

Die Breadcrumb-Navigation hilft dem Benutzer, seine Position auf der Website zu verstehen, indem sie eine Breadcrumb-Spur zurück zur Startseite bietet. Die Elemente werden typischerweise inline angezeigt, mit einem Trennzeichen zwischen jedem Element, das die Hierarchie zwischen den einzelnen Seiten anzeigt.

Links werden inline mit Trennzeichen angezeigt

Anforderungen

Zeigen Sie die Hierarchie der Seite an, indem Sie inline Links mit einem Trennzeichen zwischen den Elementen anzeigen, das die Hierarchie zwischen den einzelnen Seiten anzeigt. Die aktuelle Seite erscheint zuletzt.

Rezept

Klicken Sie auf "Play" in den untenstehenden Codeblöcken, um das Beispiel im MDN Playground zu bearbeiten:

html
<nav aria-label="Breadcrumb" class="breadcrumb">
  <ol>
    <li><a href="#">Home</a></li>
    <li><a href="#">Category</a></li>
    <li><a href="#">Sub Category</a></li>
    <li><a href="#">Type</a></li>
    <li><span aria-current="page">Product</span></li>
  </ol>
</nav>
css
body {
  font: 1.2em sans-serif;
}

.breadcrumb {
  padding: 0 0.5rem;
}

.breadcrumb ol {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0;
  align-items: end;
}

.breadcrumb li:not(:last-child)::after {
  display: inline-block;
  margin: 0 0.25rem;
  content: "→";
}

Hinweis: Das obige Beispiel verwendet einen komplexen Selektor, um vor jedem li außer dem letzten Inhalt einzufügen. Dies könnte auch mit einem komplexen Selektor erreicht werden, der alle li-Elemente außer dem ersten anspricht:

css
.breadcrumb li:not(:first-child)::before {
  content: "→";
}

Sie können die Lösung wählen, die Sie bevorzugen.

Getroffene Entscheidungen

Um Listenelemente inline darzustellen, verwenden wir das Flexbox-Layout, und zeigen damit, wie eine Zeile CSS uns unsere Navigation geben kann. Die Trennzeichen werden mittels CSS-generiertem Inhalt hinzugefügt. Sie könnten diese in jedes Trennzeichen Ihrer Wahl ändern.

Barrierefreiheit

Wir verwendeten die Attribute aria-label und aria-current, um Benutzern von assistiven Technologien zu helfen, zu verstehen, was diese Navigation ist und wo sich die aktuelle Seite in der Struktur befindet. Weitere Informationen finden Sie in den verwandten Links.

Beachten Sie, dass die Trennpfeile , die über die content CSS-Eigenschaft im obigen Beispiel hinzugefügt wurden, assistiven Technologien (AT) einschließlich Bildschirmlesegeräten und Braille-Displays ausgesetzt sind. Für eine ruhigere Lösung verwenden Sie ein dekoratives <img> in Ihrem HTML mit einem leeren alt-Attribut. Ein ARIA role, der auf none oder presentation gesetzt ist, wird auch verhindern, dass das Bild AT ausgesetzt wird.

Alternativ können Sie den CSS-generierten Inhalt zum Schweigen bringen, indem Sie einen leeren String als alternativen Text, vorangegangen von einem Schrägstrich (/), einbeziehen; beispielsweise content: url("arrow.png") / "";.

Wenn generierte Trennzeichen eingeschlossen werden, die AT ausgesetzt werden, wählen Sie, den generierten Inhalt mit dem ::after Pseudoelement-Selektor anstelle des ::before zu erstellen, sodass der Trenninhalt nach dem HTML-Inhalt statt davor angekündigt wird.

Siehe auch