Voltar
Como personalizar por completo os elementos select

Como personalizar por completo os elementos select com CSS

Aprofundamento CEVIU

Aprofundamento

A fonte descreve a abordagem que ficou para estilizar o select nativo. Em vez do antigo <selectmenu>, que exigiria trocar os elementos existentes e decidir o que mostrar em navegadores sem suporte, o recurso se apoia no próprio <select>. Quem já estilizava o controle até onde os navegadores permitiam só precisa reescrever o CSS.

O ponto de partida é appearance: base-select, que vale para o botão e para o menu suspenso, chamado de picker. Dali, o ::picker-icon troca o chevron, a pseudo-classe :open muda o ícone com o picker aberto e o ::picker(select) estiliza o menu (dá para usar margin-top e animações). As opções recebem estilo com option {}, o ::checkmark mira o ícone de marcação e o :checked destaca a opção escolhida. Com <selectedcontent>, conteúdo mais rico das opções aparece também no botão.

O suporte cobre Chrome e navegadores baseados em Chromium, como Edge e Opera, além do Safari 27. O Firefox ainda não tem. Segundo a fonte, na data da redação isso representa cerca de 72% do uso global. Quem não suporta mostra o select padrão, feio talvez, mas usável.

O que mudou

Em 16 de junho de 2026, o CEVIU noticiou "Safari 17 traz Customizable Select: controle total do select nativo, mas com uma regra de ouro", sobre a chegada do recurso ao Safari. A fonte atual trata o recurso como disponível no Safari 27 e o mostra na prática, com o passo a passo em CSS. Há divergência entre a numeração do Safari nas duas matérias, e a fonte atual cita Safari 27. Em 26 de outubro de 2026, o CEVIU já havia publicado matéria com o mesmo título desta.

Por que isso importa

Para quem mantém selects feitos com div, span, JavaScript e ARIA, a leitura é que dá para planejar a troca por um componente nativo com fallback embutido. Para quem só estilizava o select até o limite antigo, o custo parece ser reescrever CSS. Como o fallback é utilizável, o recurso pode ser adotado sem esperar o Firefox.

Linha do tempo

  1. CEVIU noticia a chegada do Customizable Select ao Safari.

  2. CEVIU publica matéria sobre como personalizar por completo os elementos select com CSS.

  3. Nova matéria detalha appearance: base-select, pseudo-elementos do picker e o fallback em navegadores sem suporte.

Perguntas frequentes

Como ativar a estilização completa do select com CSS?

Use appearance: base-select no select. Isso vale para o botão e para o picker, o menu suspenso. A partir daí você sobrescreve os estilos que quiser.

Quais navegadores suportam appearance: base-select?

Chrome e navegadores baseados em Chromium, como Edge e Opera, além do Safari 27. O Firefox ainda não suporta. A fonte estima cerca de 72% do uso global na data da redação.

O que acontece em navegadores sem suporte?

Eles mostram o select padrão, sem a estilização nova. Pode ficar menos bonito, mas a pessoa ainda escolhe uma opção e conclui o formulário.

Que pseudo-elementos e seletores entram na personalização?

A fonte cita ::picker-icon para o ícone, :open para o estado aberto e ::picker(select) para o menu. Para as opções, option, ::checkmark e :checked. Também há o elemento selectedcontent para conteúdo rico no botão.

Fontes

Avalie este artigo:
Categoria
CEVIU Web Dev
Publicado
27 de outubro de 2026
Editoria
CEVIU Web Dev

Quer receber mais sobre CEVIU Web Dev?

Conteúdo curado diariamente, direto no seu e-mail.

Conteúdo curado diariamenteDiversas categoriasCancele quando quiser