:modal CSS-Pseudo-Klasse
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 Pseudo-Klasse selektiert ein Element, das sich in einem Zustand befindet, in dem es alle Interaktionen mit Elementen außerhalb von sich ausschließt, bis die Interaktion verworfen wurde. Mehrere Elemente können gleichzeitig durch die :modal Pseudo-Klasse ausgewählt werden, aber nur eines von ihnen 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 Pseudo-Klasse ausgewählt werden, sind:
- Das
dialogElement, das mit dershowModal()API geöffnet wird. - Das Element, das durch die
:fullscreenPseudo-Klasse ausgewählt wird, wenn es mit derrequestFullscreen()API geöffnet wird.
Beispiele
>Styling eines modalen Dialogs
Dieses Beispiel styled 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
| Spezifikation |
|---|
| HTML> # selector-modal> |
| Selectors Level 4> # selectordef-modal> |
Browser-Kompatibilität
Siehe auch
dialogElement- Andere Pseudo-Klassen für den Anzeigezustand von Elementen:
:fullscreenund:picture-in-picture - Vollständige Liste der Pseudo-Klassen