:target
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since Juli 2015.
Die :target
CSS Pseudoklasse wählt das Zielelement des Dokuments aus. Wenn das Dokument geladen wird, wird das Zielelement mithilfe des Fragment-Identifiers der URL des Dokuments bestimmt.
/* Selects document's target element */ :target { border: 2px solid black; }
Zum Beispiel hat die folgende URL einen Fragment-Identifier (gekennzeichnet durch das Zeichen #), der das Element mit der id
von setup
als Zielelement des Dokuments markiert:
http://www.example.com/help/#setup
Das folgende Element würde durch einen :target
-Selektor ausgewählt werden, wenn die aktuelle URL der obigen entspricht:
<section id="setup">Installation instructions</section>
Syntax
:target { /* ... */ }
Beschreibung
Wenn ein HTML-Dokument geladen wird, setzt der Browser sein Zielelement. Das Element wird anhand des Fragment-Identifiers der URL identifiziert. Ohne den Fragment-Identifier hat das Dokument kein Zielelement. Die :target
-Pseudoklasse ermöglicht es, das Zielelement des Dokuments zu stylen. Das Element könnte fokussiert, hervorgehoben, animiert usw. werden.
Das Zielelement wird beim Laden des Dokuments und bei Aufrufen der Methoden history.back()
, history.forward()
und history.go()
gesetzt. Es wird jedoch nicht geändert, wenn die Methoden history.pushState()
und history.replaceState()
aufgerufen werden.
Hinweis: Aufgrund eines möglichen Fehlers in der CSS-Spezifikation funktioniert :target
nicht innerhalb eines Webkomponenten, da die Schattenwurzel das Zielelement nicht in den Schattenbaum weiterleitet.
Beispiele
>Ein Inhaltsverzeichnis
Die :target
-Pseudoklasse kann verwendet werden, um den Teil einer Seite hervorzuheben, der aus einem Inhaltsverzeichnis verlinkt wurde.
HTML
<h3>Table of Contents</h3> <ol> <li><a href="#p1">Jump to the first paragraph!</a></li> <li><a href="#p2">Jump to the second paragraph!</a></li> <li> <a href="#nowhere"> This link goes nowhere, because the target doesn't exist. </a> </li> </ol> <h3>My Fun Article</h3> <p id="p1"> You can target <i>this paragraph</i> using a URL fragment. Click on the first link above to try out! </p> <p id="p2"> This is <i>another paragraph</i>, also accessible from the second link above. Isn't that delightful? </p>
CSS
p:target { background-color: gold; } /* Add a pseudo-element inside the target element */ p:target::before { font: 70% sans-serif; content: "►"; color: limegreen; margin-right: 0.25em; } /* Style italic elements within the target element */ p:target i { color: red; }
Ergebnis
Spezifikationen
Specification |
---|
HTML> # selector-target> |
Selectors Level 4> # target-pseudo> |
Browser-Kompatibilität
Loading…
Siehe auch
- Verwendung der :target Pseudoklasse in Selektoren
::target-text
(zum Hervorheben von Textfragmenten)