Popover API do HTML: playground ao vivo e referência

Playground da Popover API do HTML

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

Teste a Popover API ao vivo: popovers auto, manual e hint, botões popovertarget, showPopover, hidePopover e togglePopover, além de um log dos eventos beforetoggle e toggle.

Adicione o atributo popover a qualquer elemento e aponte um botão para ele com popovertarget="id", e o navegador cuida de abrir, fechar, da top layer e da tecla Escape para você, sem JavaScript. Em scripts, chame showPopover(), hidePopover() ou togglePopover() e escute os eventos beforetoggle e toggle. popover="auto" fecha quando você clica fora; manual não fecha.

Tipos de popover

Popovers costumavam exigir uma biblioteca de posicionamento, um handler para cliques fora e uma briga com z-index. A Popover API leva tudo isso para o HTML. O playground abaixo cria um popover real no seu navegador para você trocar o tipo, controlá-lo por código e ver os eventos disparando em ordem.

Perguntas frequentes

Quais navegadores suportam a Popover API?

O MDN marca a Popover API como Baseline recém-disponível desde janeiro de 2025, o que significa que ela funciona nas versões mais recentes dos principais navegadores. Algumas partes mais novas, como o valor hint, podem ter suporte mais restrito, então confira a tabela de compatibilidade antes de depender delas.

Qual é a diferença entre popovers auto e manual?

Um popover auto tem light dismiss: clicar fora dele ou pressionar Escape o fecha, e abri-lo fecha os outros popovers auto. Um popover manual fica aberto até que um botão ou script o feche, e vários podem ficar abertos juntos, o que é bom para toasts.

O Escape fecha todos os popovers?

O Escape fecha popovers auto e hint, os mesmos que fecham com um clique fora. Um popover manual ignora os dois, então precisa de um botão de fechar próprio ou de uma chamada a hidePopover().

Como saber quando um popover abre ou fecha?

Escute o evento toggle no elemento do popover. O newState dele é "open" ou "closed". O evento beforetoggle dispara logo antes da mudança, e é o lugar certo para preparar o conteúdo.

Onde um popover aparece por padrão?

No centro do viewport, com posicionamento fixo, na top layer. Mova-o com o seu próprio CSS, ou com anchor positioning onde o navegador suportar.

Declarativo primeiro

Menus, toasts e dicas

Referência da Popover API

Atributos, métodos, eventos e seletores

Exemplos de popover sem JavaScript

Estes frames rodam com os scripts desativados, e os popovers continuam funcionando, porque o comportamento vem do HTML.

Um menu com popover auto

Clique no botão e depois clique em outro lugar ou pressione Escape. O menu se fecha sozinho.

Um toast manual com botões separados de mostrar e ocultar

Clicar fora não faz nada aqui. Só o botão de ocultar fecha o toast.

Escurecer a página atrás de um popover

::backdrop estiliza a camada sob o popover. Ele continua não sendo modal; dá para clicar na página por trás para fechá-lo.

Controlando um popover com JavaScript

Métodos, eventos e detecção de suporte

Verifique o suporte antes de chamar os métodos e depois leia newState no evento toggle.

Playground de popover

Seu navegador roda um popover real aqui: troque o tipo, chame os métodos e leia o log de eventos.

Botão declarativo (popovertarget)

Métodos via script

Eu sou um popover {v}. Clique fora ou pressione Escape para testar o light dismiss.

Fechar

Estado: {v}

Log de eventos

Limpar log

Nenhum evento ainda.

Este navegador não suporta a Popover API, então o playground está desativado.

Erro: {v}

Comece grátis · Sem cartão de crédito

Relacionados: Guias

Produto

Para quem é

Recursos

Recursos

Empresa

Mapa do site