PK Systems PK Systems
Ferramentas de cor

Gerador de Box Shadow CSS

Empilhe várias camadas de sombra, ajuste deslocamento, blur, spread e opacidade, copie como CSS ou classe Tailwind.

Gerador de Box Shadow CSS

Prévia

CSS


        

Classe arbitrária Tailwind


        

O que o box-shadow faz na prática?

box-shadow pinta uma sombra ao redor do elemento (ou dentro dele, com inset), seguindo a sua border box. Cada camada usa até seis valores: a palavra opcional inset, deslocamentos X e Y, raio de desfoque (blur), raio de spread e uma cor. Várias camadas separadas por vírgula são empilhadas pela ordem de declaração, com a primeira por cima. Esse empilhamento é o que dá profundidade visual às sombras de UI moderna: uma camada apertada e escura para o contato, uma camada larga e suave para a luz ambiente e, às vezes, um leve brilho colorido por cima. Esse gerador traz um palco com fundo xadrez transparente para você ver exatamente como a sombra cai — inclusive efeitos sutis que somem em fundo liso. Você pode arrastar qualquer valor pelo slider para ajustar rápido, digitar o número exato em pixels quando o designer manda specs, e reordenar camadas quando a ordem de pintura importa. A saída cobre tanto CSS puro quanto a sintaxe de valor arbitrário do Tailwind (shadow-[...]), e a pilha atual de sombras é codificada no hash da URL — assim, um link compartilhado reconstrói exatamente a mesma sombra do outro lado. Sem ida ao servidor: tudo renderiza no cliente conforme você muda as entradas.

Como usar

1. Comece em um preset

A linha de presets dá seis pontos de partida comuns. Sutil e Suave ficam bem em cards; Reta tem cara de UI plana; Neumórfica precisa de um fundo colorido para ler bem; Brilho brilha em UI escura; Profunda é para modais.

2. Ajuste os valores

Cada camada tem deslocamentos X / Y, blur, spread, cor e opacidade, além do toggle de inset. Arraste os sliders para feedback ao vivo ou digite números exatos no campo ao lado.

3. Empilhe e reordene

Clique em Adicionar camada para empilhar mais sombras. Cada camada nova começa com valores neutros. Use as setas para cima / baixo para reordenar — a primeira camada é pintada por último (em cima).

4. Copie a saída

Copie o CSS direto para sua folha de estilos, ou pegue a classe arbitrária do Tailwind para uso inline. Copiar link gera uma URL que reconstrói a pilha exata — útil para mandar para o designer.

Anatomia da sintaxe do box-shadow

A sintaxe completa é box-shadow: [inset] <deslocamento-x> <deslocamento-y> <blur> <spread> <cor>. Os deslocamentos X / Y movem a sombra horizontal e verticalmente. Y positivo empurra a sombra para baixo (a convenção de luz vinda de cima). O blur suaviza as bordas; 0 é uma sombra dura. O spread aumenta ou diminui a sombra antes do blur ser aplicado — valores positivos a deixam maior, negativos a apertam para ela só aparecer um pouco para fora das bordas. A cor aceita qualquer cor CSS, mas rgba() com alpha baixo costuma ficar melhor que um preto totalmente opaco — sombras reais são oclusões parciais, não tinta. A palavra opcional inset pinta a sombra dentro da caixa, útil para botões pressionados. Várias sombras separadas por vírgula empilham da frente para trás: a primeira ganha onde se sobrepõem.

Escolhendo valores que funcionam

Cards / painéis: Y de 4–12px, blur 12–28px, spread -2 a -8, alpha 0,08–0,20. Duas camadas (uma apertada, uma larga) costumam ganhar de uma camada forte só. Botões: Y de 1–2px, blur 2–4px, alpha bem baixo — pense numa sombra de contato. Modais: Y de 20–40px, blur 40–80px, spread negativo, alpha 0,25–0,45. Brilho: X e Y em 0, blur 20–60px, cor é o accent da marca em 30–60% de alpha. Inset: deslocamentos pequenos (1–2px) e blur mínimo para estados pressionados. Evite: preto puro com alpha total — esmaga tudo embaixo. Use o tom do fundo da página em uma versão mais escura para sombras que parecem de fato grudadas no elemento.

Perguntas frequentes

Por que sombras em várias camadas ficam melhores que uma só?
Sombras reais têm duas partes: uma borda dura e escura perto do ponto de contato (umbra) e um halo suave que se desfaz (penumbra). Empilhar uma camada apertada e de blur baixo com uma mais larga e suave imita isso fisicamente e parece mais ancorada. Uma sombra forte sozinha tem cara de adesivo.
O que o spread faz mesmo?
O spread infla (positivo) ou encolhe (negativo) o retângulo da sombra antes do blur ser aplicado. Spread negativo é ótimo para cards: puxa a sombra para dentro para ela não escapar nas pontas, dando um visual mais apertado e controlado.
Para que serve o inset?
inset pinta a sombra dentro do elemento, em vez de fora. É a forma padrão de simular botões pressionados, inputs em estilo “poço” e cards rebaixados. Combine uma sombra inset suave com uma sombra externa suave para um efeito de afundado refinado.
O link de compartilhar funciona para outra pessoa?
Sim. A pilha atual fica codificada no hash da URL (#shadow=...). Quem abrir o link vê exatamente as mesmas camadas, porque a codificação é determinística e roda inteira no cliente.
Por que a classe Tailwind usa underlines?
A sintaxe de valor arbitrário do Tailwind não permite espaços dentro dos colchetes. A convenção é trocar espaços por underlines (shadow-[0_4px_12px_rgba(0,0,0,0.1)]). O Tailwind interpreta os underlines como espaços em tempo de build.
Tem custo de performance?
Box shadows são rasterizadas pela GPU e baratas em uma camada estática, mas animar box-shadow direto força repaint. Se você precisa de uma sombra animada, prefira fazer fade em um elemento separado com sombra estática por cima — isso anima como transform / opacity composto e fica suave.