Gerador de Loader CSS
Um spinner mostra ao usuário que algo está acontecendo. Este gerador cria um spinner circular em CSS: defina o diâmetro, a espessura da borda, a cor de destaque e a velocidade de rotação, observe a pré-visualização ao vivo e copie o CSS. Tudo é CSS puro, sem SVG, sem JavaScript e sem bibliotecas externas.
Como usar o gerador
-
1
Defina o tamanho
Diâmetro do spinner em pixels. De 40 a 80 px serve para a maioria dos botões e áreas de conteúdo.
-
2
Defina a espessura da borda
O anel é uma borda desenhada sobre um círculo. Uma borda mais grossa deixa o arco mais marcado; de 4 a 8 px fica bem com 60 px.
-
3
Escolha a cor
A cor de destaque do arco que gira. O resto do anel permanece cinza claro para o arco se destacar.
-
4
Defina a velocidade e copie o CSS
Tempo de uma volta completa em segundos. Cerca de 1 segundo é o ponto ideal mais comum; abaixo de 500 ms parece frenético, acima de 2 s parece lento.
Como funciona o CSS gerado
.loader {
width: 60px;
height: 60px;
border: 6px solid #eee;
border-top-color: #10b981;
border-radius: 50%;
animation: spin 1s linear infinite;
}
@keyframes spin {
to { transform: rotate(360deg); }
}
O spinner é um círculo desenhado com uma borda grossa. A regra border-top-color pinta apenas a parte superior do anel com a cor de destaque, de modo que o anel é lido como um arco, e a regra @keyframes spin o gira em torno do centro. Girar com transform: rotate() mantém a animação leve, porque o navegador move o elemento no compositor em vez de redesenhar quadro a quadro.
Para exibi-lo em uma página, adicione um elemento e carregue o CSS:
<div class="loader" role="status" aria-label="Carregando"></div>
Torne-o acessível
- Adicione
role="status"para que os leitores de tela anunciem o spinner. - Defina
aria-labelcom o texto de status, por exemplo “Carregando”. - Não esconda conteúdo atrás de um spinner por mais de alguns segundos sem um fallback de timeout.
- Respeite
prefers-reduced-motion. Para quem desativou as animações, substitua a rotação por um simples fade ou um texto estático “Carregando…”:
@media (prefers-reduced-motion: reduce) {
.loader { animation: none; background: currentColor; opacity: .4; }
}
Quando usar um spinner em vez de uma UI otimista
- Resposta abaixo de 100 ms: dispensa spinner; o olho humano mal percebe o atraso.
- 100 ms – 1 s: um spinner discreto (círculo pequeno, texto do botão “Carregando…”) evita cliques duplos.
- 1 s – 10 s: um spinner bem visível, de preferência com progresso se for mensurável.
- > 10 s: não é um problema de spinner; descubra o que está lento e conserte.
Em envios de formulários e cliques em botões, um spinner dentro do botão costuma ser melhor do que uma sobreposição em tela cheia.
Perguntas frequentes
CSS para spinners simples de elemento único (o truque de rotação de quatro bordas). SVG quando você precisa de um rastro afunilado, animações de múltiplos traços de dasharray, ou segmentos preenchidos que parecem pinceladas. CSS é menor e mais simples; SVG é mais flexível.
Provavelmente porque você está girando um elemento grande ou animando uma propriedade não composta. Mantenha o tamanho do spinner pequeno, use transform: rotate() (não top/margin), e evite acioná-lo enquanto outras animações pesadas estão em execução.
Quase universalmente no sentido horário. Spinners anti-horários parecem sutilmente errados porque a maioria das pistas de rotação reais (relógios, moinhos de vento) giram no sentido horário. Fique com a convenção, a menos que você tenha um motivo específico.
Com um setTimeout(..., 300) em JavaScript que adiciona a classe do loader, além de um clearTimeout se a operação terminar primeiro. Previne o piscar em respostas rápidas sem esconder atrasos reais.
Ferramentas relacionadas
Gerador de Cartão CSS
Crie o CSS de um contêiner de cartão: fundo, borda, raio dos cantos, espaçamento interno e sombra suave, com pré-visualização imediata e código para copiar e colar.
Conversor de Tamanho de Arquivo
Converta entre bytes, KB, MB, GB, TB e as unidades binárias IEC (KiB, MiB, GiB, TiB), combinando decimal e binário como preferir.
Gerador de Docker Compose
Gere um docker-compose.yml a partir de definições de serviços com imagem, portas e volumes, com padrões de boas práticas.
Conversor de base numérica
Converta números entre binário, octal, decimal, hexadecimal e qualquer base personalizada de 2 a 36, com o detalhamento posicional.
Gerador de README
Gere um README.md estruturado a partir de alguns campos: nome do projeto, tagline, recursos, comando de instalação, trecho de início rápido, autor e licença. Cole direto no seu repositório.
Visualizador de Markdown
Escreva Markdown e veja a renderização HTML atualizar ao vivo. Sintaxe com estilo GitHub, incluindo tabelas, listas de tarefas, blocos de código cercados e autolinks.
Ferramenta disponível em outros idiomas
- Trình tạo CSS Loader [VI]
- CSS-laddningsgenerator [SV]
- مولّد مؤشرات التحميل بلغة CSS [AR]
- CSS 로딩 애니메이션 생성기 [KO]
- เครื่องมือสร้าง CSS Loader [TH]
- Générateur de chargeur CSS [FR]
- Generator Loader CSS [ID]
- CSSローディングアニメーション生成ツール [JA]
- CSS-Loader-Generator [DE]
- CSS-loadergenerator [NL]
- Generador de Cargadores CSS [ES]
- Generator loaderów CSS [PL]
- CSS Loader Generator [EN]
- Generatore di Loader CSS [IT]
- Генератор CSS-загрузчиков [RU]
- CSS Yükleyici Oluşturucu [TR]
- CSS 加载动画生成器 [ZH]