Gerador de Checkbox CSS

Resultados

As checkboxes padrão têm aparência diferente em cada sistema operacional e são difíceis de personalizar. Este gerador cria CSS puro que dá a uma checkbox nativa a aparência que você quiser: escolha a cor do estado marcado, a cor da borda, o tamanho e o raio dos cantos. Como o estilo é aplicado a um input real, o teclado, os leitores de tela e o envio de formulários continuam funcionando. Copie o CSS gerado e adicione à sua folha de estilos.

Como estilizar uma checkbox

  1. 1

    Escolha as cores

    Selecione a cor de fundo para o estado marcado e a cor da borda da caixa.

  2. 2

    Defina o tamanho

    Escolha um tamanho entre 12 e 48 px.

  3. 3

    Defina a forma

    Escolha o raio dos cantos da caixa, até 20 px.

  4. 4

    Copie o CSS

    Veja a marca de verificação e copie a regra gerada para a sua folha de estilos.

O que o CSS gerado faz

A regra é aplicada diretamente ao input com appearance: none, que remove a aparência padrão para que a caixa possa ser estilizada:

.checkbox {
  appearance: none;
  width: 20px;
  height: 20px;
  border: 2px solid #d1d5db;
  border-radius: 4px;
  cursor: pointer;
  position: relative;
  transition: all 0.15s ease;
}

Quando a checkbox está marcada, a caixa se preenche com a cor escolhida e aparece uma marca de verificação branca, desenhada com CSS:

.checkbox:checked {
  background: #10b981;
  border-color: #10b981;
}
.checkbox:checked::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 2px;
  width: 6px;
  height: 10px;
  border: solid white;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

Por que um input nativo

O estilo nunca substitui o elemento por um div: o <input type="checkbox"> real mantém a ativação pelo teclado, o suporte a leitores de tela e o envio do formulário. appearance: none só muda a aparência. Se você precisar suportar versões antigas do Safari, adicione -webkit-appearance: none à regra.

Foco e passagem do mouse

A regra gerada inclui uma transição de cor suave, mas nenhum estilo de foco ou passagem do mouse. Adicione suas próprias regras para :hover e :focus-visible, assim usuários de teclado sempre veem onde está o foco, por exemplo um contorno colorido ao redor da caixa.

A marca de verificação

A marca de verificação é uma pequena linha branca girada em 45 graus. Se precisar de outra cor ou de um traço mais fino ou mais grosso, edite os valores border e border-width na regra ::after.

Perguntas frequentes

Não. Ele gera apenas CSS. Aplique a classe a um input real no seu formulário, com ou sem rótulo visível.

Sim. A regra usa appearance: none no input nativo, então o valor é enviado normalmente e o suporte a teclado e leitores de tela permanece intacto.

O tamanho é ajustado no gerador, de 12 a 48 px. A cor e a espessura da marca são editadas na regra ::after do CSS gerado.

Para alvos de toque, busque pelo menos 24 px, idealmente 44 px como outros controles. Mantenha a caixa alinhada com o texto do rótulo no seu design.

Ferramentas relacionadas

Ferramenta disponível em outros idiomas