Gerador de CSS para spinner de sobreposição

Próximo

Uma sobreposição de carregamento cobre a página com uma camada translúcida e um spinner no meio. Gere o spinner aqui e, em seguida, adicione abaixo o CSS curto do contêiner para centralizá-lo sobre o seu conteúdo.

Como criar um spinner em sobreposição

  1. 1

    Escolha um tamanho maior

    Digite de 70 a 90 no campo de tamanho e de 6 a 8 na espessura, para que o spinner seja fácil de ver em uma página inteira.

  2. 2

    Escolha uma cor forte

    Escolha uma cor de arco que se destaque sobre o fundo da sobreposição.

  3. 3

    Copie o CSS gerado

    Use o botão de copiar para as regras do loader e dos keyframes.

  4. 4

    Adicione o contêiner

    Cole as regras da sobreposição desta página e aninhe o loader dentro do contêiner.

Duas partes: o spinner e a sobreposição

O gerador produz o spinner: a classe .loader e a regra @keyframes spin. A sobreposição é um contêiner separado que você adiciona. Ela cobre a janela inteira e centraliza o seu filho. Essa separação é útil porque você pode reutilizar o mesmo spinner em um botão ou em um card e usar o contêiner somente quando precisar de um estado que bloqueia a tela.

CSS do contêiner

Cole isto depois das regras geradas:

.overlay {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.75);
  z-index: 1000;
}
<div class="overlay" role="status" aria-label="Carregando">
  <div class="loader"></div>
</div>

position: fixed com inset: 0 estica a camada até as quatro bordas da tela. As configurações de flex centralizam o spinner nos dois sentidos. O z-index mantém a camada acima do conteúdo comum, então aumente-o se um cabeçalho ou um modal ainda aparecer por cima.

Cobrir só uma área em vez da página

Se apenas um card ou uma tabela estiver carregando, dê ao contêiner dele position: relative e troque o contêiner da sobreposição para position: absolute:

.panel { position: relative; }
.panel .overlay { position: absolute; }

O restante da página continua utilizável, e só esse painel fica escurecido.

Escolha a cor da sobreposição conforme a página

Fundo da página Fundo da sobreposição Cor do arco
Branco rgba(255, 255, 255, 0.75) Cor da marca
Escuro rgba(0, 0, 0, 0.6) Cor clara ou brilhante

Em uma página escura, altere também a cor da trilha #eee no CSS do loader colado, para que o anel não brilhe em excesso.

Boas práticas

  • Remova a sobreposição assim que o trabalho terminar, ou a página continuará bloqueada.
  • Use-a para esperas curtas. Para operações longas, mostre um texto explicando o que está acontecendo.
  • A marcação da sobreposição e o controle do foco são responsabilidade sua. Esta ferramenta gera apenas o spinner.

Impeça a página de rolar

Uma sobreposição fixa oculta a página, mas o conteúdo por trás dela ainda pode rolar com a roda do mouse ou com o toque. Se isso importar, adicione overflow: hidden; ao body enquanto a sobreposição estiver visível e remova-o quando ela sair. Mantenha a regra vinculada ao mesmo momento em que você mostra e oculta a sobreposição, para que os dois nunca saiam de sincronia.

Perguntas frequentes

Não. Ele cria o CSS do spinner. O contêiner da sobreposição são algumas linhas extras de CSS mostradas nesta página, que você cola ao lado dele.

Torne o contêiner fixed com inset: 0 e use display: flex com align-items: center e justify-content: center. Assim o spinner fica no centro.

Outro elemento tem uma ordem de empilhamento mais alta. Aumente o z-index da sobreposição para ficar acima dele.

Sim. Uma camada fixa cobrindo a tela recebe os cliques no lugar dos elementos que estão embaixo, o que normalmente é o objetivo durante o carregamento.

Ferramentas relacionadas

Ferramenta disponível em outros idiomas

Guias e casos de uso