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

View in English Always switch to English

:modal-CSS-Pseudoklasse

Baseline
Weitgehend verfügbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit September 2022 browserübergreifend verfügbar.

Die :modal-CSS-Pseudoklasse wählt ein Element aus, das sich in einem Zustand befindet, in dem es jede Interaktion mit Elementen außerhalb seiner selbst verhindert, bis die Interaktion beendet wird. Mehrere Elemente können gleichzeitig von der Pseudoklasse :modal ausgewählt werden, aber nur eines davon ist aktiv und kann Eingaben empfangen.

Probieren Sie es aus

button {
  display: block;
  margin: auto;
  width: 10rem;
  height: 2rem;
}

:modal {
  background-color: beige;
  border: 2px solid burlywood;
  border-radius: 5px;
}

p {
  color: black;
}
<p>Would you like to see a new random number?</p>
<button id="showNumber">Show me</button>

<dialog id="favDialog">
  <form method="dialog">
    <p>Lucky number is: <strong id="number"></strong></p>
    <button>Close dialog</button>
  </form>
</dialog>
const showNumber = document.getElementById("showNumber");
const favDialog = document.getElementById("favDialog");
const number = document.getElementById("number");

showNumber.addEventListener("click", () => {
  number.innerText = Math.floor(Math.random() * 1000);
  favDialog.showModal();
});

Syntax

css
:modal {
  /* ... */
}

Hinweise zur Verwendung

Zu den Elementen, die eine Benutzerinteraktion mit dem Rest der Seite verhindern und von der Pseudoklasse :modal ausgewählt werden, gehören:

  • Das Element dialog, das mit der API showModal() geöffnet wurde.
  • Das Element, das von der Pseudoklasse :fullscreen ausgewählt wird, wenn es mit der API requestFullscreen() geöffnet wurde.

Beispiele

Einen modalen Dialog gestalten

In diesem Beispiel wird ein modaler Dialog gestaltet, der sich öffnet, wenn die Schaltfläche „Show the dialog“ aktiviert wird. Das Beispiel wurde vom Beispiel für das Element <dialog> abgeleitet.

CSS

Die Pseudoklasse :modal wählt den mit showModal() geöffneten Dialog aus und versieht ihn mit einem roten Rahmen, einem gelben Hintergrund und einem Schlagschatten.

css
:modal {
  border: 5px solid red;
  background-color: yellow;
  box-shadow: 3px 3px 10px rgb(0 0 0 / 50%);
}

Ergebnis

Spezifikationen

Spezifikation
HTML
# selector-modal
Selectors Level 4
# selectordef-modal

Browser-Kompatibilität

Siehe auch