Gerador de CSS para spinner de sobreposição
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
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
Escolha uma cor forte
Escolha uma cor de arco que se destaque sobre o fundo da sobreposição.
-
3
Copie o CSS gerado
Use o botão de copiar para as regras do loader e dos keyframes.
-
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
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 spinera CSS do nakładki [PL]
- Trình tạo CSS spinner cho lớp phủ [VI]
- Generator CSS Spinner untuk Overlay [ID]
- مولّد CSS لدوّامة الطبقة المتراكبة [AR]
- Overlay-Spinner CSS Generator [DE]
- オーバーレイスピナー CSS ジェネレーター [JA]
- Generador de CSS para spinner de superposición [ES]
- 오버레이 스피너 CSS 생성기 [KO]
- Generator för spinner i CSS-overlay [SV]
- Générateur de CSS pour spinner en superposition [FR]
- Overlay-spinner CSS generator [NL]
- Overlay Spinner CSS Generator [EN]
- Generatore di CSS per spinner in sovrimpressione [IT]
- Генератор CSS-спиннера для оверлея [RU]
- Overlay Spinner CSS Oluşturucu [TR]
- 遮罩层加载动画 CSS 生成器 [ZH]