CSS Text-Shadow Stack
Crie efeitos de texto com CSS text-shadow empilhado, do brilho neon ao relevo 3D. Ajuste as camadas, veja o resultado e copie o código pronto.
CSS
—
text-shadow empilhado: neon, retrô e tipografia 3D
A propriedade text-shadow pinta uma sombra colorida atrás de cada glifo de um texto. A sintaxe é menor que a de box-shadow — apenas x, y, blur e cor (sem spread, sem inset) — mas aceita uma lista separada por vírgula, e é empilhando várias sombras que a mágica acontece. Uma sombra parece plana; quatro bem escolhidas simulam neon, aberração cromática, letterpress ou extrusão 3D completa.
.neon {
color: #fff;
text-shadow:
0 0 5px #0ff,
0 0 10px #0ff,
0 0 20px #0ff,
0 0 40px #0ff;
}
Receitas famosas
- Neon (Tron 1982) — 3-4 sombras da mesma cor saturada, offset zero, blur crescente. Combine com texto branco para o glow clássico.
- Aberração cromática 80s — uma sombra vermelha deslocada à esquerda, uma ciano deslocada à direita (
-2px 0 #f0f, 2px 0 #0ff). Vende a estética VHS/synthwave. - Letterpress — uma sombra clara acima (
0 -1px 0 #fff) e uma escura abaixo (0 1px 0 #000) embute o texto na página. - Extrusão 3D — repita o mesmo offset incrementalmente (
1px 1px, 2px 2px, 3px 3px ...) para um efeito chunky de profundidade. - Outline (fallback de text-stroke) — quatro sombras de 1px em cima, direita, baixo e esquerda simulam
-webkit-text-strokeem navegadores antigos.
text-shadow vs filter: drop-shadow
Para texto especificamente, text-shadow é mais performante — é medido por glifo pelo rasterizador de texto, não pelo pipeline genérico de filter. filter: drop-shadow em um elemento de texto também funciona e segue a máscara alpha de cada caractere, mas dispara um passo extra de compositor e desativa o anti-aliasing sub-pixel no Chrome.
Long shadow, glitch e animação
A tendência "long shadow" do flat design (popularizada por volta de 2013) constrói uma sombra de 45° empilhando 100+ sombras de um pixel cada — só viável via mixin de preprocessador ou CSS gerado. O efeito "glitch" encadeia duas sombras coloridas e anima o offset em um keyframe rápido para simular ruído de sinal. Animar text-shadow é caro porque cada frame repinta o texto — prefira opacity ou transform quando possível.
Acessibilidade e contraste
Sombra não é booster de contraste. O WCAG mede a razão de contraste entre a cor do texto e a cor do fundo diretamente atrás dele — a sombra não conta. Se seu texto branco precisa de um fundo escuro para ser legível, pinte um background de verdade ou use um overlay semi-transparente; depender de um halo borrado vai falhar na auditoria. text-shadow animado com flicker de cores de alto contraste também pode causar crises — respeite prefers-reduced-motion.
Perguntas frequentes
Existe limite de sombras? A spec não impõe, mas cada sombra força outro paint pass por glifo. Acima de ~10 sombras em corpos grandes de texto espere quedas de FPS.
Por que text-shadow não tem spread? A spec foi mantida mínima. Se precisar de um halo mais grosso, aumente o blur ou empilhe sombras idênticas com pequenas variações de offset.
text-shadow funciona em font icons? Sim — Font Awesome, Material Icons e qualquer glifo renderizado via @font-face aceitam text-shadow. Para ícones SVG inline, use filter: drop-shadow().
Melhor stack para neon? 3-4 sombras com a mesma cor saturada, blur 5px, 10px, 20px e 40px, todas com offset zero. Combine com cor de texto branca ou muito clara.
Ferramentas Relacionadas
CSS Box-Shadow Multi
Gere sombras CSS box-shadow com várias camadas para dar profundidade aos elementos. Ajuste cor, desfoque e deslocamento e copie o código na hora.
Gerador de Glow CSS
Gera CSS para efeitos de glow/neon com box-shadow camadas (text-shadow para texto). Ajuste cor e intensidade.
CSS Focus Ring Acessível
Gere um focus ring (anel de foco) CSS acessível, com bom contraste seguindo as diretrizes WCAG. Melhore a navegação por teclado do seu site e copie o código.