HTML Popover API: Live-Playground und Referenz

Playground für die HTML Popover API

HTML Popover API: popovertarget, showPopover, Events | We.Inc

Teste die Popover API live: auto-, manual- und hint-Popover, popovertarget-Buttons, showPopover, hidePopover und togglePopover, dazu ein Log der Events beforetoggle und toggle.

Füge einem beliebigen Element das Attribut popover hinzu und verknüpfe einen Button über popovertarget="id" damit, dann übernimmt der Browser Öffnen, Schließen, den Top Layer und die Escape-Taste für dich, ganz ohne JavaScript. In Skripten rufst du showPopover(), hidePopover() oder togglePopover() auf und lauschst auf die Events beforetoggle und toggle. popover="auto" schließt sich bei einem Klick außerhalb, manual nicht.

Popover-Typen

Popover bedeuteten früher eine Positionierungsbibliothek, einen Handler für Klicks außerhalb und einen Kampf mit dem z-index. Die Popover API verlagert all das in HTML. Der Playground unten erzeugt in deinem Browser ein echtes Popover, sodass du seinen Typ wechseln, es per Code steuern und die Events der Reihe nach feuern sehen kannst.

Häufige Fragen

Welche Browser unterstützen die Popover API?

MDN führt die Popover API seit Januar 2025 als Baseline newly available, sie funktioniert also in den aktuellen Versionen der großen Browser. Einige neuere Teile, etwa der Wert hint, werden möglicherweise weniger breit unterstützt, prüfe daher die Kompatibilitätstabelle, bevor du dich darauf verlässt.

Was ist der Unterschied zwischen auto- und manual-Popovern?

Ein auto-Popover unterstützt Light Dismiss: Ein Klick außerhalb oder Escape schließt es, und sein Öffnen schließt andere auto-Popover. Ein manual-Popover bleibt offen, bis ein Button oder ein Skript es schließt, und mehrere können gleichzeitig offen sein, was gut zu Toasts passt.

Schließt Escape jedes Popover?

Escape schließt auto- und hint-Popover, also dieselben, die sich bei einem Klick außerhalb schließen. Ein manual-Popover ignoriert beides und braucht daher einen eigenen Schließen-Button oder einen Aufruf von hidePopover().

Wie erfahre ich, wann sich ein Popover öffnet oder schließt?

Lausche auf das toggle-Event am Popover-Element. Sein newState ist "open" oder "closed". Das Event beforetoggle feuert kurz vor der Änderung und ist der richtige Ort, um Inhalte vorzubereiten.

Wo erscheint ein Popover standardmäßig?

In der Mitte des Viewports, mit fester Positionierung, im Top Layer. Verschiebe es mit eigenem CSS oder mit Anchor Positioning, sofern der Browser das unterstützt.

Zuerst deklarativ

Menüs, Toasts und Tipps

Referenz der Popover API

Attribute, Methoden, Events und Selektoren

Popover-Beispiele ohne JavaScript

Diese Frames laufen mit deaktivierten Skripten, und die Popover funktionieren trotzdem, weil das Verhalten aus HTML kommt.

Ein Menü als auto-Popover

Klicke auf den Button und dann woanders hin oder drücke Escape. Das Menü schließt sich selbst.

Ein manual-Toast mit getrennten Buttons zum Anzeigen und Ausblenden

Ein Klick außerhalb bewirkt hier nichts. Nur der Ausblenden-Button schließt ihn.

Die Seite hinter einem Popover abdunkeln

::backdrop gestaltet die Ebene unter dem Popover. Es ist trotzdem nicht modal; ein Klick auf die Seite dahinter schließt es.

Ein Popover mit JavaScript steuern

Methoden, Events und Feature Detection

Prüfe die Unterstützung, bevor du die Methoden aufrufst, und lies dann newState im toggle-Event.

Popover-Playground

Dein Browser führt hier ein echtes Popover aus: Wechsle seinen Typ, rufe seine Methoden auf und lies das Event-Log.

Deklarativer Button (popovertarget)

Skript-Methoden

Ich bin ein {v}-Popover. Klicke außerhalb oder drücke Escape, um Light Dismiss zu testen.

Schließen

Zustand: {v}

Event-Log

Log leeren

Noch keine Events.

Dieser Browser unterstützt die Popover API nicht, daher ist der Playground deaktiviert.

Fehler: {v}

Kostenlos starten · Keine Kreditkarte nötig

Verwandt: Ratgeber

Produkt

Für wen

Funktionen

Ressourcen

Unternehmen

Sitemap