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

View in English Always switch to English

:target-after

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.

Die :target-after CSS Pseudoklasse wählt Scrollmarkierungen aus, die nach der aktiven Scrollmarkierung (diejenige, die derzeit mit :target-current übereinstimmt) innerhalb einer Scrollmarkierungsgruppe kommen. Sie können diesen Selektor verwenden, um Navigationselemente zu stylen, die nach der aktuellen Navigationsposition innerhalb einer Scrollmarkierungsgruppe kommen.

Hinweis: Die :target-after Pseudoklasse ist nur gültig auf ::scroll-marker Pseudoelementen und Elementen, die als Scrollmarkierungen über die scroll-target-group Eigenschaft festgelegt wurden.

Syntax

css
:target-after {
  /* ... */
}

Beispiele

In diesem Beispiel verwenden wir die :target-before und :target-after Pseudoklassen, um die Scrollmarkierungen vor und nach der aktiven zu markieren und so die Elemente anzuzeigen, die der Benutzer bereits gesehen hat, und diejenigen, die noch kommen.

HTML

Das Markup enthält ein Inhaltsverzeichnis, das mit einer geordneten Liste (<ol>/<li>) und <a> Elementen erstellt wurde. Darauf folgt eine Reihe von <section> Elementen, die Inhalte enthalten.

html
<nav id="toc">
  <ol>
    <li><a href="#intro">Introduction</a></li>
    <li><a href="#ch1">Chapter 1</a></li>
    <li><a href="#ch2">Chapter 2</a></li>
    <li><a href="#ch3">Chapter 3</a></li>
    <li><a href="#ch4">Chapter 4</a></li>
  </ol>
</nav>
<section id="intro" class="chapter">
  <h1>Prose of the century</h1>
  <p>
    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla luctus
    aliquam dolor, eu lacinia lorem placerat vulputate. Duis felis orci,
    pulvinar id metus ut, rutrum luctus orci. Cras porttitor imperdiet nunc, at
    ultricies tellus laoreet sit amet.
  </p>
</section>
<section id="ch1" class="chapter">
  <h2>Chapter 1</h2>

  <!-- ... -->
</section>
<section id="ch2" class="chapter">
  <h2>Chapter 2</h2>

  <!-- ... -->
</section>

<!-- ... -->

CSS

Wir haben scroll-target-group: auto auf das <ol> gesetzt, um es in einen Scrollmarkierungsgruppenkontainer zu verwandeln, und lassen den Browser bestimmen, welches <a> Element die aktive Scrollmarkierung zu einem bestimmten Zeitpunkt ist (also, welches Ziel des Links derzeit sichtbar ist). Wir stylen dann die :target-current Pseudoklasse mit einer roten color, damit sie deutlich hervorsticht.

css
ol {
  scroll-target-group: auto;
}

:target-current {
  color: red;
}

Schließlich verwenden wir die :target-before Pseudoklasse, um alle <a> Elemente vor der aktiven Scrollmarkierung mit einer grauen Farbe und Durchstreichung zu stylen, um sie als abgeschlossen/fertig aussehen zu lassen, und wir verwenden die :target-after Pseudoklasse, um alle <a> Elemente nach der aktiven Scrollmarkierung mit einer hellen Unterstreichung zu stylen.

css
a:target-before {
  color: gray;
  text-decoration: line-through;
}

a:target-after {
  text-decoration: underline orange 2px;
}

Ergebnis

Versuchen Sie, entweder durch Klicken auf die Links oder durch Scrollen zu navigieren. In beiden Fällen werden Sie sehen, dass die rote Textfarbe zwischen den Links wechselt, um der Sektion zu entsprechen, die gerade im Blick ist. Die Links vor und nach dem aktuellen roten Link werden auch aktualisiert, um die in den a:target-before und a:target-after Regeln definierten Stile zu verwenden.

Spezifikationen

Specification
CSS Overflow Module Level 5
# selectordef-target-after

Browser-Kompatibilität

Siehe auch