Gerador de CSS para spinner de carregamento

Próximo

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. 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. 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. 3

    Defina a velocidade

    Informe os segundos de uma volta completa. 1 é um padrão comum.

  4. 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 loader ou uma animação chamada spin, 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

Ferramenta disponível em outros idiomas

Guias e casos de uso