Gerador de CSS para spinner de carregamento
Um spinner de carregamento mostra aos visitantes que uma página, um painel ou um botão ainda está em processamento. Defina abaixo o tamanho, a espessura do anel, a cor e a velocidade, veja a prévia e copie o CSS do spinner de carregamento pronto para a sua folha de estilos.
Como obter o CSS do seu spinner de carregamento
-
1
Escolha um tamanho
Informe o diâmetro em pixels. Algo entre 40 e 60 para uma área de conteúdo, e menor para uso em linha.
-
2
Escolha espessura e cor
Defina a espessura do anel em pixels e escolha a cor do arco em movimento no campo de cor.
-
3
Defina a velocidade
Informe os segundos de uma volta completa. 1 é um padrão comum.
-
4
Copie o CSS
Use o botão de copiar ao lado da caixa de CSS e cole as regras na sua folha de estilos.
O que você recebe
O gerador escreve duas regras: uma classe .loader e um bloco @keyframes spin. A classe desenha um círculo, dá a ele um anel cinza claro e colore a borda superior desse anel. Os keyframes giram o círculo uma volta completa, e a linha animation repete esse giro para sempre. Nada mais é necessário: nem arquivo de imagem, nem fonte de ícones, nem script.
Com os valores padrão (60 px, anel de 6 px, #10b981, 1 segundo), o resultado fica assim:
.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); }
}
Adicione à sua página
Cole o CSS na sua folha de estilos e, em seguida, adicione um elemento vazio onde o loader deve aparecer:
<div class="loader" role="status" aria-label="Carregando"></div>
Mostre o elemento enquanto o trabalho está em andamento e remova-o, ou oculte-o com display: none, quando o conteúdo chegar. Os atributos role e aria-label permitem que os leitores de tela anunciem o estado.
Tamanhos que funcionam
| Onde fica | Tamanho | Espessura |
|---|---|---|
| Dentro de um botão pequeno | 16 a 20 px | 2 px |
| Ao lado de uma linha de texto | 20 a 28 px | 3 px |
| Card ou painel | 40 a 60 px | 4 a 6 px |
| Centralizado em uma página vazia | 60 a 100 px | 6 a 8 px |
Uma regra prática é uma espessura de cerca de um décimo do diâmetro. Muito mais fino fica fraco em telas de alta resolução, e muito mais grosso transforma o anel em uma mancha.
Pontos a saber
- A cor da trilha é fixa em cinza claro (
#eee). Em um fundo escuro, edite esse valor no CSS colado. - A ferramenta cria um único spinner circular. Pontos, barras e outras formas exigem uma marcação diferente.
- Se já existir no seu projeto uma classe chamada
loaderou uma animação chamadaspin, renomeie-as no CSS colado para que as regras não entrem em conflito.
Como mostrar e ocultar
Um spinner de carregamento deve aparecer quando o trabalho começa e desaparecer quando termina. Um padrão simples é manter um atributo hidden no elemento e removê-lo quando uma requisição começa. Se a espera costuma ser bem curta, adicione um pequeno atraso de alguns centenas de milissegundos antes de mostrar o anel, para que respostas rápidas não façam o spinner piscar. Seja qual for a escolha, oculte sempre o spinner também no caso de erro, ou os visitantes ficarão esperando algo que já falhou.
Perguntas frequentes
Sim. O resultado é CSS simples, com uma classe e uma regra de keyframes, então funciona em qualquer folha de estilos ou bloco de estilo, com qualquer back end.
Mantenha o elemento oculto por padrão e mostre-o quando a requisição começar. Oculte-o novamente quando ela terminar. Você controla isso com a troca de uma classe ou com um atributo hidden no seu próprio código.
O CSS gerado colore apenas a borda superior do círculo. Quando o círculo gira, esse único arco colorido percorre o anel cinza claro, criando o efeito de giro.
Sim. Cada valor é uma propriedade CSS normal, então você pode editar diretamente na sua folha de estilos a largura, a borda, a cor ou o tempo da animação.
Ferramentas relacionadas
Contador de FPS
Meça o FPS do navegador com requestAnimationFrame: suavização, taxa de quadros mínima e máxima, limite de alerta e gráfico opcional. Roda localmente, sem upload nem API.
Gerador de Configuração Webpack
Crie um webpack.config.js para webpack 5 com JavaScript puro, React ou Vue: TypeScript, Babel, CSS ou Sass, imagens, HtmlWebpackPlugin, servidor de desenvolvimento e a linha de npm install.
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 textura de ruído
Gere uma textura de ruído em SVG que se repete sem emendas, com opacidade, frequência do grão, tipo de ruído e cor de fundo ajustáveis, e copie o CSS já pronto.
Gerador de Licença
Gere o texto completo de licenças de código aberto com seu nome e ano preenchidos. Abrange licenças MIT, Apache 2.0, GPLv3, BSD-3, MPL-2.0 e CC.
Desofuscador de JavaScript
Desofusque JavaScript minificado ou empacotado com renomeação de variáveis, decodificação de arrays de strings, reversão de achatamento de fluxo de controle e embelezamento.
Ferramenta disponível em outros idiomas
- เครื่องมือสร้างสปินเนอร์โหลด CSS [TH]
- Generator CSS spinera ładowania [PL]
- Trình tạo CSS loading spinner [VI]
- Generator CSS Loading Spinner [ID]
- مولّد CSS لدوّامة التحميل [AR]
- Lade-Spinner CSS Generator [DE]
- ローディングスピナー CSS ジェネレーター [JA]
- Generador de CSS para spinner de carga [ES]
- 로딩 스피너 CSS 생성기 [KO]
- Generator för laddningsspinner i CSS [SV]
- Générateur de CSS pour spinner de chargement [FR]
- CSS-laadspinner generator [NL]
- Loading Spinner CSS Generator [EN]
- Generatore di CSS per spinner di caricamento [IT]
- Генератор CSS для индикатора загрузки [RU]
- Yükleme Spinner CSS Oluşturucu [TR]
- 加载动画 CSS 生成器 [ZH]