Voltar
Como personalizar por completo os elementos select

Como personalizar por completo os elementos select com CSS

Aprofundamento CEVIU

Aprofundamento

O ponto central é que a personalização do select agora parte do próprio elemento nativo, sem , , JavaScript e ARIA para simular o componente. Para ativar, basta usar appearance: base-select, que vale para o botão do e para o menu, chamado de 'picker'. Isso entrega um ponto de partida neutro, com uma seta para baixo no botão e o picker posicionado logo abaixo.

A partir daí, o estilo é CSS comum. O ícone troca com ::picker-icon, e a pseudo-classe :open muda o visual com o picker aberto. O menu se estiliza com ::picker(select), as opções com option {}, o checkmark com ::checkmark e a opção marcada com :checked. Também dá para colocar imagens e outras marcações nas opções e exibir o conteúdo no botão com <selectedcontent>. O autor cita suporte no Chrome e navegadores baseados em Chromium, como Edge e Opera, e no Safari 27, mas não no Firefox. Na data da escrita, isso cobriria cerca de 72% do uso global. Em navegadores sem suporte, aparece o padrão, feio talvez, mas utilizá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 e a possibilidade de personalizar o sem bibliotecas JavaScript ou soluções com . Agora o foco é o passo a passo prático, com appearance: base-select e os pseudo-elementos do picker. Note que a fonte atual fala em Safari 27, enquanto aquela matéria trazia Safari 17, então vale conferir a versão exata na documentação antes de definir requisitos.

Por que isso importa

Para quem mantém selects feitos com e ARIA, isso aponta para trocar componente próprio por elemento nativo, com fallback embutido. Para quem já estilizava o até onde os navegadores deixavam, a leitura é que o trabalho se resume a reescrever CSS. O risco fica no Firefox, que ainda mostra a versão padrão.

Linha do tempo

  1. CEVIU noticia o Customizable Select no Safari, com controle total do select nativo.

  2. Guia mostra como personalizar o select com appearance: base-select e pseudo-elementos do picker.

Perguntas frequentes

Como ativar a personalizaçã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. Depois, estilize com ::picker-icon, ::picker(select), option e ::checkmark.

O que acontece em navegadores que não suportam?

O usuário vê o select padrão do navegador, sem o estilo customizado. Pode ficar menos bonito, mas continua utilizável, e a pessoa consegue escolher uma opção e enviar o formulário.

Quais navegadores suportam appearance: base-select?

Segundo a fonte, funciona no Chrome e em navegadores Chromium, como Edge e Opera, e no Safari 27. O Firefox ainda não oferece suporte. O autor estima cerca de 72% do uso global na data da escrita.

Dá para colocar imagens nas opções do select?

Sim. É possível adicionar imagens e outras marcações às opções e usar para mostrar esse conteúdo também no botão. O exemplo da fonte, porém, usa só texto.

Fontes

Avalie este artigo:
Categoria
CEVIU Web Dev
Publicado
26 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