Das Pseudoelement ::backdrop gestaltet die Fläche hinter einem
Element, das im sogenannten Top Layer des Browsers angezeigt wird.
Dazu gehören beispielsweise modal geöffnete Dialogfenster und Elemente im
Vollbildmodus.
::backdrop bei einem Dialogfenster
Ein Dialogfenster wird mit dem HTML-Element
<dialog> erstellt. Wird es mit der JavaScript-Methode
showModal() geöffnet, erzeugt der Browser dahinter ein
::backdrop.
<button type="button" id="open-dialog">
Dialog öffnen
</button>
<dialog id="example-dialog">
<h4>Beispiel für ::backdrop</h4>
<p>
Hinter diesem modalen Dialog wird das
::backdrop angezeigt.
</p>
<form method="dialog">
<button type="submit">
Dialog schließen
</button>
</form>
</dialog>
Hintergrundfläche gestalten
Das Pseudoelement wird direkt an den Selektor des Dialogfensters
angefügt. Häufig wird eine halbtransparente dunkle Hintergrundfarbe
verwendet.
Der Schließen-Button befindet sich in einem Formular mit
method="dialog". Dadurch wird das Dialogfenster ohne
zusätzliches JavaScript geschlossen.
Methode
Darstellung
::backdrop
show()
Nicht modales Dialogfenster
Wird nicht angezeigt
showModal()
Modales Dialogfenster
Wird angezeigt
close()
Schließt das Dialogfenster
Wird entfernt
Dialog durch Klick auf den Hintergrund schließen
Das ::backdrop ist kein gewöhnliches HTML-Element.
Deshalb kann dafür kein eigener Event-Listener eingerichtet werden.
Der Klick wird stattdessen am Dialogfenster ausgewertet.
Diese einfache Variante funktioniert, wenn die sichtbaren Inhalte des
Dialogs in einem eigenen inneren Element liegen. Andernfalls sollte die
Position des Mausklicks genauer geprüft werden.
::backdrop im Vollbildmodus
Auch ein Element, das mit der Fullscreen API im Vollbildmodus angezeigt
wird, besitzt ein ::backdrop.
Vollbild-Beispiel
Dieses Element kann in den Vollbildmodus versetzt werden.
Der Vollbildmodus muss normalerweise durch eine Benutzeraktion wie
einen Klick gestartet werden. Mit der Taste Esc kann er
ebenfalls beendet werden.
Geeignete CSS-Eigenschaften
Das ::backdrop kann ähnlich wie eine große Fläche hinter
dem geöffneten Element gestaltet werden.
Bereich
Beispiele
Hintergrund
background-color,
background-image
Filter
backdrop-filter,
filter
Deckkraft
opacity
Animation
transition,
animation
In der Praxis reichen meistens eine halbtransparente
background-color und eventuell ein
backdrop-filter aus.
Wichtige Hinweise
::backdrop wird nur bei Elementen in der obersten
Darstellungsebene des Browsers erzeugt.
Bei einem <dialog> erscheint es nur nach
showModal(), nicht nach show().
Das Pseudoelement ist kein eigenes HTML-Element.
Ein modales Dialogfenster sollte immer über Tastatur und
Schaltfläche geschlossen werden können.
Der Hintergrund muss genügend Kontrast erzeugen, darf den
Dialoginhalt aber nicht beeinträchtigen.
Übersicht der Pseudoelemente
Pseudoelemente ermöglichen es, bestimmte Teile eines Elements zu gestalten
oder zusätzliche Inhalte darzustellen, ohne dafür weitere HTML-Elemente
einfügen zu müssen.
Die folgende Übersicht fasst die wichtigsten Pseudoelemente und ihre
typischen Einsatzbereiche zusammen.
Pseudoelement
Beschreibung
Typischer Einsatz
::before
Fügt vor dem eigentlichen Inhalt eines Elements einen erzeugten
Inhalt ein.
Icons, Hinweise und dekorative Elemente
::after
Fügt nach dem eigentlichen Inhalt eines Elements einen erzeugten
Inhalt ein.
Symbole, Markierungen und Gestaltungselemente
::first-letter
Wählt den ersten Buchstaben eines Textblocks aus.
Initialbuchstaben und typografische Hervorhebungen
::first-line
Wählt die erste formatierte Zeile eines Textblocks aus.
Hervorhebung der ersten Textzeile
::selection
Gestaltet Text, den der Benutzer markiert hat.
Eigene Farben für Textmarkierungen
::marker
Gestaltet das Aufzählungszeichen oder die Nummer eines Listeneintrags.
Individuelle Listenpunkte und Nummerierungen
::placeholder
Gestaltet den Platzhaltertext eines Formularelements.
Hinweistexte in Eingabefeldern
::file-selector-button
Wählt die Schaltfläche eines Datei-Eingabefeldes aus.
Gestaltung des Buttons für die Dateiauswahl
::backdrop
Gestaltet die Fläche hinter einem Element im
Top Layer.
Modale Dialogfenster und Vollbildmodus
Schreibweise der Pseudoelemente
Pseudoelemente werden in modernem CSS mit zwei Doppelpunkten
:: geschrieben. Sie werden direkt an einen Selektor
angefügt.
Die Schreibweise mit zwei Doppelpunkten unterscheidet Pseudoelemente
eindeutig von Pseudoklassen. Pseudoklassen verwenden nur einen
Doppelpunkt, beispielsweise :hover oder
:focus.
Art
Schreibweise
Beispiel
Pseudoklasse
Ein Doppelpunkt
a:hover
Pseudoelement
Zwei Doppelpunkte
p::first-line
Wichtige Hinweise
Pseudoelemente werden in modernem CSS mit zwei Doppelpunkten
:: geschrieben.
Sie werden an einen Selektor angefügt, beispielsweise
p::first-line.
Nicht jedes Pseudoelement kann mit allen CSS-Eigenschaften gestaltet
werden.
::before und ::after benötigen normalerweise
die Eigenschaft content, damit sie sichtbar werden.
Erzeugte Inhalte sollten keine wichtigen Informationen enthalten, da
ihre Ausgabe durch Hilfstechnologien unterschiedlich sein kann.
Einige Pseudoelemente gelten nur für bestimmte HTML-Elemente oder
Zustände, beispielsweise ::placeholder bei Eingabefeldern
oder ::backdrop bei Elementen im Top Layer.
Pseudoelemente ergänzen die Gestaltung eines Dokuments, ohne dass dafür
zusätzliche HTML-Elemente erforderlich sind. Für wichtige Inhalte sollte
jedoch immer echtes HTML verwendet werden.