Pseudo-Elemente
Ein CSS-Pseudo-Element ist ein Schlüsselwort, das einem Selektor hinzugefügt wird, um einen bestimmten Teil des ausgewählten Elements oder der ausgewählten Elemente zu gestalten.
Syntax
selector::pseudo-element {
property: value;
}
Zum Beispiel kann ::first-line
verwendet werden, um die Schriftart der ersten Zeile eines Absatzes zu ändern.
/* The first line of every <p> element. */
p::first-line {
color: blue;
text-transform: uppercase;
}
Doppelte Doppelpunkte (::
) werden für Pseudo-Elemente verwendet. Dies unterscheidet Pseudo-Elemente von Pseudo-Klassen, die in ihrer Notation einen einzelnen Doppelpunkt (:
) verwenden. Beachten Sie, dass Browser die einzelne Doppelpunkt-Syntax für die ursprünglichen vier Pseudo-Elemente unterstützen: ::before
, ::after
, ::first-line
, und ::first-letter
.
Pseudo-Elemente existieren nicht unabhängig. Das Element, dessen Teil ein Pseudo-Element ist, wird als sein ursprüngliches Element bezeichnet. Ein Pseudo-Element muss nach allen anderen Komponenten im komplexen oder zusammengesetzten Selektor erscheinen. Das letzte Element im Selektor ist das ursprüngliche Element des Pseudo-Elements. Zum Beispiel können Sie die erste Zeile eines Absatzes mit p::first-line
auswählen, aber nicht die Kinder der ersten Zeile. Daher ist p::first-line > *
ungültig.
Ein Pseudo-Element kann basierend auf dem aktuellen Zustand des ursprünglichen Elements ausgewählt werden. Zum Beispiel wählt p:hover::first-line
die erste Zeile (Pseudo-Element) eines Absatzes, wenn der Absatz selbst gehobert wird (Pseudo-Klasse).
Hinweis: Wenn eine Selektorliste einen ungültigen Selektor enthält, wird der gesamte Stilblock ignoriert.
Typografische Pseudo-Elemente
::first-line
-
Die erste Zeilenbox des ursprünglichen Elements.
::first-letter
-
Der erste Buchstabe, die erste Zahl oder das Symbolzeichen in der ersten Zeile seines ursprünglichen Elements.
::cue
-
Die WebVTT-Cues innerhalb eines ausgewählten Elements. Dies kann verwendet werden, um Untertitel und andere Cues zu gestalten in Medien mit VTT-Tracks. Das Modul der CSS-Pseudo-Elemente definiert auch die
::postfix
und::prefix
Sub-Pseudo-Elemente. Diese werden derzeit von keinem Browser unterstützt.
Hervorhebungs-Pseudo-Elemente
Wählt Dokumentabschnitte basierend auf Inhalt und Dokumentstatus aus und ermöglicht es, diese Bereiche unterschiedlich zu gestalten, um den Status dem Nutzer anzuzeigen.
::selection
-
Der Abschnitt eines Dokuments, der ausgewählt wurde.
::target-text
-
Das Ziel-Element des Dokuments. Das Ziel-Element wird über den Fragmentbezeichner der URL identifiziert.
::spelling-error
-
Ein Textabschnitt, den der Browser für falsch geschrieben hält.
::grammar-error
-
Ein Textabschnitt, den der Browser für grammatikalisch falsch hält.
::highlight()
-
Die Elemente im Highlight-Register. Es wird verwendet, um benutzerdefinierte Highlights zu erstellen.
Baumkonforme Pseudo-Elemente
Diese Pseudo-Elemente verhalten sich wie reguläre Elemente und passen nahtlos in das Boxmodell. Sie agieren als Kindelement, das direkt innerhalb der Hierarchie des ursprünglichen Elements gestaltet werden kann.
::before
-
Erzeugt ein Pseudo-Element, das das erste Kindelement des ausgewählten Elements ist.
::after
-
Erzeugt ein Pseudo-Element, das das letzte Kindelement des ausgewählten Elements ist.
::column
-
Jedes Spaltenfragment eines Mehrspalten-Layouts.
::marker
-
Der automatisch generierte Marker-Box eines Listenelements.
::backdrop
-
Der Hintergrund des ursprünglichen Elements, das in der Top-Schicht gerendert wird.
-
Erstellt einen Knopf, der das Scrollen des Scroll-Containers steuern kann, auf den er angewendet wird.
::scroll-marker
-
Erstellt ein Pseudo-Element, das ein Scroll-Marker ist — ein Scroll-Zielknopf für sein ursprüngliches Element, das in einer Scroll-Marker-Gruppe verschachtelt ist.
::scroll-marker-group
-
Erzeugt einen Container vor oder nach einem Scroll-Container, um die
::scroll-marker
Pseudo-Elemente zu enthalten, die auf dem Element oder seinen Nachkommen erzeugt werden.
Elementgestützte Pseudo-Elemente
Diese Pseudo-Elemente sind reale Elemente, die nicht anderweitig auswählbar sind.
::details-content
-
Der erweiterbare/zusammenklappbare Inhalt eines
<details>
-Elements. ::part()
-
Jedes Element innerhalb eines Shadow Trees, das ein passendes
part
-Attribut hat. ::slotted()
-
Jedes Element, das in einen Slot innerhalb einer HTML-Vorlage platziert wurde.
Formularbezogene Pseudo-Elemente
Die Pseudo-Elemente beziehen sich auf Formularelemente.
::checkmark
-
Zielt auf das Häkchen ab, das im aktuell ausgewählten
<option>
-Element eines anpassbaren Auswahl-Elements platziert ist, um visuell anzuzeigen, welches ausgewählt ist. -
Der Knopf eines
<input>
vomtype="file"
. ::picker()
-
Der Picker-Teil eines Elements, zum Beispiel der Dropdown-Picker eines anpassbaren Auswahl-Elements.
::picker-icon
-
Das Picker-Symbol innerhalb von Formularelementen, die ein Symbol damit verbunden haben. Im Falle eines anpassbaren Auswahl-Elements wählt es den Pfeil aus, der nach unten zeigt, wenn die Auswahl geschlossen ist.
::placeholder
-
Der Platzhaltertext in einem Eingabefeld.
Alphabetisches Verzeichnis
Die durch eine Reihe von CSS-Spezifikationen definierten Pseudo-Elemente umfassen Folgendes:
A
B
C
::column
::checkmark
::cue
(und::cue()
)
D
F
G
H
M
P
S
T
V
Verschachtelung von Pseudo-Elementen
Sie können einige Pseudo-Element-Selektoren miteinander verketten, um verschachtelte Pseudo-Elemente innerhalb anderer Pseudo-Elemente zu gestalten. Die folgenden verschachtelten Pseudo-Element-Kombinationen werden unterstützt:
::after
::after::marker
: Wählt das::marker
Pseudo-Element eines::after
Pseudo-Elements aus, wenn::after
als Listenelement gestaltet ist, mitdisplay: list-item
.
::before
::before::marker
: Wählt das::marker
Pseudo-Element eines::before
Pseudo-Elements aus, wenn::before
als Listenelement gestaltet ist, mitdisplay: list-item
.
Sehen Sie sich die einzelnen Referenzseiten zu den Pseudo-Elementen für Beispiele und Informationen zur Browser-Kompatibilität an.
Spezifikationen
Specification |
---|
CSS Pseudo-Elements Module Level 4 |
CSS Positioned Layout Module Level 4 |
CSS Shadow Parts |
WebVTT: The Web Video Text Tracks Format |