:modal
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2022.
Die :modal CSS Pseudoklasse wählt ein Element aus, das sich in einem Zustand befindet, in dem es jegliche Interaktion mit Elementen außerhalb von sich selbst ausschließt, bis die Interaktion abgebrochen wurde. Mehrere Elemente können gleichzeitig mit der :modal Pseudoklasse ausgewählt werden, aber nur eines davon wird aktiv sein und Eingaben empfangen können.
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
:modal {
/* ... */
}
Verwendungshinweise
Beispiele für Elemente, die die Benutzerinteraktion mit dem Rest der Seite verhindern und von der :modal Pseudoklasse ausgewählt werden, sind:
- Das
dialog-Element, das mit dershowModal()-API geöffnet wurde. - Das Element, das von der
:fullscreenPseudoklasse ausgewählt wird, wenn es mit derrequestFullscreen()-API geöffnet wurde.
Beispiele
>Styling eines modalen Dialogs
Dieses Beispiel stylt einen modalen Dialog, der geöffnet wird, wenn die Schaltfläche "Details aktualisieren" aktiviert wird. Dieses Beispiel basiert auf dem <dialog>-Element Beispiel.
CSS
:modal {
border: 5px solid red;
background-color: yellow;
box-shadow: 3px 3px 10px rgb(0 0 0 / 50%);
}
Ergebnis
Spezifikationen
| Specification |
|---|
| HTML> # selector-modal> |
| Selectors Level 4> # selectordef-modal> |
Browser-Kompatibilität
Siehe auch
dialog-Element- Andere Pseudoklassen für den Anzeigestatus von Elementen:
:fullscreenund:picture-in-picture - Vollständige Liste der Pseudoklassen