Gerador de animação de spinner CSS
Uma animação de spinner CSS é um anel que gira para sempre por meio de uma regra de keyframes. Aqui você define a velocidade da rotação, visualiza o movimento e copia a classe e o bloco @keyframes.
Como ajustar a animação
-
1
Informe a velocidade
No campo Velocidade (s), digite quantos segundos uma volta completa deve levar, por exemplo 0,8 ou 1,2.
-
2
Observe a prévia
O anel gira nessa velocidade imediatamente, para que você avalie se o movimento transmite calma ou urgência.
-
3
Ajuste tamanho e cor
Altere tamanho, espessura e cor para que a animação combine com o lugar onde ela será usada.
-
4
Copie o CSS
Copie as regras geradas. A linha de animação e os keyframes ficam juntos.
Como a animação é construída
O CSS gerado tem duas partes que funcionam em par. A propriedade animation de .loader dá nome à animação, define sua duração, escolhe a função de temporização e a repete:
animation: spin 0.8s linear infinite;
A regra @keyframes spin descreve o próprio movimento. Ela tem apenas um estado final, que é uma rotação de 360 graus. O navegador parte da posição normal do elemento e interpola até esse estado final:
@keyframes spin {
to { transform: rotate(360deg); }
}
O campo Velocidade da ferramenta vira a duração. Todo o restante, incluindo linear e infinite, permanece igual.
Como escolher a duração
| Segundos por volta | Como parece |
|---|---|
| 0,4 a 0,6 | Rápida e agitada, pode parecer nervosa |
| 0,8 a 1 | Constante, a escolha usual |
| 1,2 a 1,6 | Calma, combina com spinners grandes |
| 2 ou mais | Lenta, pode parecer travada |
Anéis grandes podem girar um pouco mais devagar que os pequenos, porque a borda de um círculo grande já percorre mais distância a cada segundo.
Por que temporização linear
A ferramenta usa linear para que o anel mantenha a mesma velocidade angular em toda a volta. Curvas de aceleração como ease-in-out fazem o anel desacelerar e acelerar a cada volta, o que parece trepidação em um loop infinito. Se você quiser esse efeito mesmo assim, troque a palavra linear no CSS colado.
Limites a considerar
- Uma velocidade de 0 gera uma animação de duração zero, então o anel não gira de forma visível. Use um valor acima de 0.
- O spinner sempre gira no sentido horário. Para invertê-lo, troque a rotação final por
-360degdepois de copiar. - O movimento é uma única rotação contínua. Pulsação, quique ou movimentos em várias etapas exigiriam keyframes extras escritos à mão.
Pausar e controlar a animação
Depois que o CSS estiver na sua página, você pode controlar a animação com propriedades padrão. Definir animation-play-state: paused; congela o anel no lugar, o que é útil para um estado em que o trabalho já terminou, mas o elemento continua visível. Definir animation-delay: 0.2s; adia o início, então o spinner só aparece se a espera não for instantânea. São propriedades CSS normais, adicionadas à regra .loader depois que você copiar o código.
Perguntas frequentes
Diminua o número no campo Velocidade (s). Um valor de 0,6 significa que uma volta completa leva seis décimos de segundo, então ele gira mais rápido que com 1.
Ele repete a animação sem fim. Se você substituí-lo por um número como 3, o anel para depois de três voltas.
Sim. Mude o nome nos dois lugares: depois de animation: na classe e depois de @keyframes. Eles precisam coincidir exatamente.
O navegador consegue animar transform sem recalcular o layout da página, então é uma forma leve de mover um elemento e costuma ficar suave, mesmo em dispositivos modestos.
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 animacji spinera CSS [PL]
- Trình tạo hoạt ảnh CSS spinner [VI]
- Generator Animasi CSS Spinner [ID]
- مولّد حركة دوّامة CSS [AR]
- CSS-Spinner-Animation Generator [DE]
- CSSスピナーアニメーション ジェネレーター [JA]
- Generador de animación de spinner CSS [ES]
- CSS 스피너 애니메이션 생성기 [KO]
- Generator för CSS-spinneranimation [SV]
- Générateur d'animation de spinner CSS [FR]
- CSS-spinner animatie generator [NL]
- CSS Spinner Animation Generator [EN]
- Generatore di animazione per spinner CSS [IT]
- Генератор анимации CSS-спиннера [RU]
- CSS Spinner Animasyonu Oluşturucu [TR]
- CSS 加载动画生成器 [ZH]