Popover API de HTML: playground en vivo y referencia

Playground de la Popover API de HTML

Popover API de HTML: popovertarget, showPopover, eventos | We.Inc

Prueba la Popover API en vivo: popovers auto, manual y hint, botones popovertarget, showPopover, hidePopover y togglePopover, además de un registro de los eventos beforetoggle y toggle.

Añade el atributo popover a cualquier elemento y apunta un botón hacia él con popovertarget="id", y el navegador se encarga de abrirlo, cerrarlo, la capa superior y la tecla Escape sin JavaScript. En scripts, usa showPopover(), hidePopover() o togglePopover(), y escucha los eventos beforetoggle y toggle. popover="auto" se cierra al hacer clic fuera; manual no.

Tipos de popover

Antes, un popover significaba una librería de posicionamiento, un manejador de clics fuera y una pelea con el z-index. La Popover API traslada todo eso a HTML. El playground de abajo crea un popover real en tu navegador para que cambies su tipo, lo controles desde código y veas los eventos dispararse en orden.

Preguntas frecuentes

¿Qué navegadores admiten la Popover API?

MDN marca la Popover API como Baseline newly available desde enero de 2025, lo que significa que funciona en las últimas versiones de los principales navegadores. Algunas partes más nuevas, como el valor hint, pueden tener un soporte más limitado, así que revisa la tabla de compatibilidad antes de depender de ellas.

¿Qué diferencia hay entre los popovers auto y manual?

Un popover auto admite light dismiss: hacer clic fuera o pulsar Escape lo cierra, y abrirlo cierra los demás popovers auto. Un popover manual sigue abierto hasta que un botón o un script lo cierra, y puede haber varios abiertos a la vez, lo que encaja con las notificaciones tipo toast.

¿Escape cierra todos los popovers?

Escape cierra los popovers auto y hint, los mismos que se cierran con un clic fuera. Un popover manual ignora ambas cosas, así que necesita su propio botón de cerrar o una llamada a hidePopover().

¿Cómo sé cuándo se abre o se cierra un popover?

Escucha el evento toggle en el elemento popover. Su newState es "open" o "closed". El evento beforetoggle se dispara justo antes del cambio, que es el momento de preparar el contenido.

¿Dónde aparece un popover por defecto?

En el centro del viewport, con posicionamiento fijo, en la capa superior. Muévelo con tu propio CSS o con anchor positioning donde el navegador lo admita.

Primero, lo declarativo

Menús, toasts y pistas

Referencia de la Popover API

Atributos, métodos, eventos y selectores

Ejemplos de popover sin JavaScript

Estos marcos se ejecutan con los scripts desactivados, y los popovers siguen funcionando porque el comportamiento viene del HTML.

Un menú con popover auto

Haz clic en el botón y luego en otro sitio, o pulsa Escape. El menú se cierra solo.

Un toast manual con botones separados para mostrar y ocultar

Aquí hacer clic fuera no hace nada. Solo el botón de ocultar lo cierra.

Oscurecer la página detrás de un popover

::backdrop da estilo a la capa que hay bajo el popover. Sigue sin ser modal; se puede hacer clic en la página de detrás para cerrarlo.

Controlar un popover desde JavaScript

Métodos, eventos y detección de soporte

Comprueba el soporte antes de usar los métodos y luego lee newState en el evento toggle.

Playground de popover

Tu navegador ejecuta aquí un popover real: cambia su tipo, usa sus métodos y lee el registro de eventos.

Botón declarativo (popovertarget)

Métodos por script

Soy un popover {v}. Haz clic fuera o pulsa Escape para probar el light dismiss.

Cerrar

Estado: {v}

Registro de eventos

Borrar registro

Todavía no hay eventos.

Este navegador no admite la Popover API, así que el playground está desactivado.

Error: {v}

Empieza gratis · Sin tarjeta de crédito

Relacionado: Guías

Producto

Para quién es

Funciones

Recursos

Empresa

Mapa del sitio