Propriedade Pointer Events

Última atualização: 2026-09-13

pointer-events Propriedade Pointer Events

A propriedade pointer-events controla se um elemento pode se tornar o alvo de eventos de ponteiro, como cliques e passagens do mouse. Quando definida como none, o elemento ignora completamente os eventos de ponteiro e eles atravessam para os elementos abaixo. É uma ferramenta comum para clique através, desativação de interação e interações complexas de UI em camadas.

Categoria
Valor Inicialauto
HerdadoSim
Aplica-se Aall
Tipo de Animaçãodiscrete
Versão CSSCSS3
StatusPadrão

📝 Sintaxe

pointer-events: auto | none;

⚙️ Valores

ValorTipoDescrição
auto | nonePalavra-chaveSe o elemento responde a eventos de ponteiro

▶ Exemplo

Edite o código abaixo e veja o resultado ao vivo no playground:

🌐 Suporte dos Navegadores

Navegador ChromeChrome EdgeEdge FirefoxFirefox SafariSafari OperaOpera
pointer-events v1 v12 v1.5 v4 v1
Suportado em todos os principais navegadores
Dica: pointer-events: none faz o elemento e todos os seus filhos ignorarem eventos de ponteiro. Para que um filho responda novamente, você deve definir pointer-events: auto nesse filho explicitamente.
Aviso: pointer-events: none não afeta eventos de teclado nem o foco. O elemento ainda pode receber foco com a tecla Tab; combine-o com tabindex="-1" para desabilitá-lo completamente.

❓ Perguntas Frequentes

QQual é a diferença entre pointer-events: none e disabled?
Adisabled é um atributo HTML: além de bloquear a interação, ele altera o estilo padrão do controle, impede o envio do formulário e suprime eventos de clique. O pointer-events: none apenas faz o elemento ignorar eventos de ponteiro — sua aparência permanece a mesma, ainda pode receber foco pelo teclado e ainda é enviado com o formulário. Para desabilitar totalmente um controle de formulário, prefira disabled.
QO valor pointer-events: none bloqueia eventos de toque em dispositivos móveis?
ASim. O pointer-events: none trata todos os dispositivos de entrada de ponteiro da mesma forma, incluindo mouse, caneta stylus e touchscreen. Uma vez definido, o elemento nunca se torna o alvo de um evento de ponteiro — cliques, toques e passagens do mouse atravessam para a camada inferior. Ele não afeta eventos de teclado, porém: o elemento ainda pode receber foco com Tab, então adicione tabindex="-1" para bloquear isso também.
QQual é a diferença entre pointer-events: none e visibility: hidden?
Avisibility: hidden torna um elemento invisível e completamente não interativo, mas ainda ocupa espaço de layout, e os filhos podem ser exibidos novamente com visibility: visible. Um elemento com pointer-events: none permanece visível, selecionável e focalizável — ele simplesmente ignora eventos de ponteiro, que então atravessam para os elementos abaixo. Use o primeiro para ocultar e o segundo para deixar os eventos passarem.
QComo faço cliques atravessarem uma sobreposição até o elemento abaixo?
ADefina pointer-events: none na sobreposição superior e os eventos de ponteiro atravessarão para o elemento abaixo. Casos típicos: sobreposições puramente decorativas, como um véu semitransparente adicionado com ::before, camadas de anotação em mapas e tooltips personalizados. Se a sobreposição contiver botões que precisam ser clicáveis, restaure pointer-events: auto nesses botões individualmente.

📚 Tutoriais Relacionados

Web-Tutorial.com

Equipe Técnica Web-Tutorial

Uma plataforma de tutoriais mantida por diversos desenvolvedores. Cada tutorial é escrito e revisado por profissionais da área correspondente. Trabalhamos para manter nosso conteúdo preciso e confiável — se encontrar algum problema, avise-nos.

100%