Categoria: Desenvolvimento
Gerador de botões CSS
Monte botões CSS personalizáveis com prévia ao vivo e código pronto para copiar
Projete um botão visualmente e copie HTML e CSS limpos. Ajuste cores, borda, raio, espaçamento, sombra e estilos de hover e foco no seu navegador.
Hover e foco
Prévia
Passe o cursor pela prévia, ou pressione Tab para chegar até ela, e veja os estilos de hover e de foco.
<button class="button" type="button">Get started</button>
.button {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 8px;
box-sizing: border-box;
padding: 10px 18px;
border: 1px solid #2f6f4f;
border-radius: 6px;
background: #2f6f4f;
color: #ffffff;
font: inherit;
font-size: 15px;
font-weight: 600;
line-height: 1.2;
text-decoration: none;
cursor: pointer;
box-shadow: 0 1px 2px rgb(0 0 0 / 0.12);
transition: background-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}
.button:hover {
background: #255a40;
transform: translateY(-1px);
box-shadow: 0 3px 8px rgb(0 0 0 / 0.16);
}
.button:active {
transform: translateY(0);
}
/* Keyboard focus stays visible — never replace this with outline: none */
.button:focus-visible {
outline: 2px solid #1d4ed8;
outline-offset: 2px;
}
.button:disabled {
opacity: 0.55;
cursor: not-allowed;
transform: none;
}
@media (prefers-reduced-motion: reduce) {
.button {
transition: none;
}
.button:hover {
transform: none;
}
}
O trecho usa um <button> de verdade e mantém visível o contorno de :focus-visible. Remover esse contorno deixaria quem navega por teclado sem saber onde está.
A prévia e o código gerado são construídos no seu navegador.
Tudo nesta página é processado no seu navegador. Nada é enviado.
Para que serve
Este é um editor visual para um botão: cores, borda, raio, espaçamento, tamanho e peso da tipografia, sombra e o que muda no hover. A prévia é estilizada pelo mesmo CSS que você copia, então passar o cursor ou chegar nela com Tab mostra os estados reais, não uma aproximação. Duas coisas não ficam ao acaso. A marcação é um `<button type="button">` de verdade, não uma div estilizada, então ela recebe foco e funciona no teclado de graça. E a saída sempre mantém um contorno visível de `:focus-visible` — o bug de acessibilidade mais comum em CSS de botão gerado é um `outline: none` que deixa quem usa teclado sem ideia de onde está na página.
Como usar
- Defina o rótulo e o nome da classe e escolha as cores de fundo, texto e borda.
- Ajuste raio, espessura da borda, espaçamento e tamanho e peso da fonte até a prévia ficar boa.
- Defina o fundo do hover e o anel de foco e copie o HTML e o CSS.
Privacidade
Esta ferramenta roda inteiramente no seu navegador. O que você digita nunca é enviado, salvo ou compartilhado — fechar a aba já remove tudo.
Perguntas frequentes
- Posso criar estilos de hover?
- Sim. O fundo do hover, a elevação opcional e a mudança de sombra fazem parte do CSS gerado, como uma regra :hover separada que você pode editar depois.
- O botão precisa de JavaScript?
- Não. A saída é HTML e CSS puros. Você só precisa de script para o que o botão faz quando é pressionado.
- Posso copiar o HTML e o CSS separadamente?
- Sim — cada um tem seu próprio botão de copiar, então você leva o CSS para uma folha de estilos e a marcação para onde ela pertence.
- Por que o CSS inclui um contorno de foco?
- Porque sem ele quem navega por teclado não consegue ver em qual controle está. A regra gerada usa :focus-visible, então o anel aparece no foco por teclado sem surgir a cada clique do mouse.
- O código gerado é local?
- Sim. Todas as configurações, a prévia e os trechos gerados ficam no seu navegador.