0Pricing
CSS Academy · Lektion

Styling von Modals und Dialogen

Gestalten Sie native HTML-dialog-Elemente und eigene Modals mit Backdrop, Positionierung und Animationen.

Styling von Modals und Dialogen ist eine kostenlose CSS Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des CSS Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der CSS Academy-Kurs umfasst insgesamt 4 Lektionen.

Natives dialog-Element

Das HTML-Element <dialog> bietet integrierte Modal-Funktionalität: Fokusfalle, Schließen mit der Escape-Taste sowie die API showModal() / close(). Gestalten Sie es mit CSS, anstatt eine eigene Modal-Grundstruktur von Grund auf zu erstellen.

Backdrop gestalten

Mit dem Pseudo-Element ::backdrop gestalten Sie das Overlay hinter einem geöffneten <dialog>. Wenden Sie einen halbtransparenten Hintergrund an: dialog::backdrop { background: rgba(0,0,0,0.5); backdrop-filter: blur(4px); }. Ein umschließendes div ist nicht erforderlich.

Dialog-Layout

Zentrieren Sie Dialoge mit CSS: dialog { margin: auto; max-width: min(90vw, 640px); max-height: 90vh; overflow-y: auto; }. Mit margin: auto auf einem Dialog wird dieser ohne eine Positionierung per JS in der Mitte des Viewports platziert.

Scrollen und Überlauf

Setzen Sie overflow-y: auto direkt am Dialog, um lange Inhalte zu verarbeiten. Setzen Sie beim Öffnen des Modals overflow: hidden auf body, um das Scrollen im Hintergrund zu verhindern – fügen Sie mit JavaScript eine Klasse hinzu und entfernen Sie sie wieder, um dies umzuschalten.

Animation mit CSS

Animieren Sie das Öffnen eines Dialogs mit @starting-style (Chrome 117+), um CSS-only-Eintrittsanimationen ohne JavaScript zu ermöglichen. Für eine breitere Unterstützung fügen Sie mit JavaScript eine open-Klasse hinzu und verwenden Sie transition für transform und opacity: slide-up von translateY(20px) zu translateY(0).

Herausforderung: Schließanimation

Das Animieren des Schließens eines Dialogs ist schwierig – der Dialog wird bei close() sofort ausgeblendet. Mögliche Lösungen: Verwenden Sie die Popover API, die Schließanimationen nativ unterstützt, oder fangen Sie das Schließen mit JavaScript ab, spielen Sie die Exit-Animationsklasse ab und rufen Sie close() erst auf, wenn die Animation beendet ist.

Z-index-Verwaltung

Geöffnete Dialoge werden über allen anderen Inhalten der Seite angezeigt. Vermeiden Sie z-index-Konflikte, indem Sie den nativen Stacking Context des dialog-Elements verwenden – es wird in der Top Layer über allen CSS-z-index-Werten dargestellt, ohne dass Sie selbst einen z-index für den Dialog festlegen müssen.

Responsiver Dialog

Schieben Sie Dialoge auf Mobilgeräten als Sheet von unten herein: dialog { margin: auto auto 0; width: 100%; border-radius: 16px 16px 0 0; max-height: 90vh; }. Zentrieren Sie sie auf Desktopgeräten als herkömmliches Modal nach dem Muster margin: auto.

Fokusverwaltung

Das native dialog-Element verschiebt den Fokus beim Öffnen automatisch auf das erste fokussierbare Element im Dialog. Sorgen Sie innerhalb des Dialogs für eine logische Tab-Reihenfolge. Fügen Sie eine Schaltfläche zum Schließen hinzu, die den Fokus beim Schließen des Dialogs zum auslösenden Element zurückführt, damit die Tastaturnavigation korrekt fortgesetzt werden kann.

Attribute für Barrierefreiheit

Fügen Sie aria-labelledby mit einem Verweis auf den Dialogtitel und aria-describedby mit einem Verweis auf die Dialogbeschreibung hinzu. Die Rolle des Dialogs ist für <dialog> implizit festgelegt. Screenreader geben diese Bezeichnungen aus, sobald der Fokus in den Dialog gelangt.

Muster für Bestätigungsdialoge

Bestätigungsdialoge benötigen: einen eindeutigen Fragentitel, eine kurze Beschreibung der Auswirkungen, eine Schaltfläche für die destruktive Aktion (rot, rechtsbündig) und eine Abbrechen-Schaltfläche (linksbündig oder sekundär). Verwenden Sie autofocus für die Abbrechen-Schaltfläche, damit die sichere Auswahl die standardmäßige Tastaturaktion ist.

Wissensabfrage

Welchen Vorteil bietet das native Element <dialog> gegenüber einem benutzerdefinierten Modal auf Basis eines div?

Zusammenfassung

Das native dialog-Element mit ::backdrop, Zentrierung durch margin: auto, Überlaufsteuerung, CSS-Animationen für das Öffnen und Fokusverwaltung bietet ein vollständig barrierefreies, CSS-gesteuertes Modal-Muster. Responsive Sheet-Layouts auf Mobilgeräten und korrekte ARIA-Attribute vervollständigen eine produktionsreife Dialogkomponente.

Häufig gestellte Fragen

Ist die Lektion „Styling von Modals und Dialogen“ kostenlos?

Ja — der vollständige Text von „Styling von Modals und Dialogen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des CSS Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der CSS Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Styling von Modals und Dialogen“?

Gestalten Sie native HTML-dialog-Elemente und eigene Modals mit Backdrop, Positionierung und Animationen. Du übst CSS Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um CSS Academy zu starten?

Keine Vorkenntnisse erforderlich. CSS Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.

Wie lange dauert die Lektion „Styling von Modals und Dialogen“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser CSS Academy-Lektion Code schreiben und ausführen?

Ja. Jede CSS Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Card-Komponente mit CSS Custom Properties
  2. Styling von Modals und Dialogen
  3. Dropdown- und Popover-Muster
  4. Tab-Komponente mit :checked-Hack vs. JS
← Zurück zu CSS Academy