Propriedade Box Shadow

Última atualização: 2026-09-13

box-shadow Propriedade Box Shadow

A propriedade box-shadow adiciona uma ou mais camadas de sombra ao redor ou dentro da caixa de borda de um elemento, conferindo profundidade e hierarquia ao elemento na página. É uma propriedade central para efeitos modernos de UI, como cards flutuantes e botões pressionados, e oferece suporte a deslocamento, raio de desfoque, raio de propagação e cor.

Categoria
Valor Inicialnone
HerdadoNão
Aplica-se Aall
Tipo de Animaçãoshadow
Versão CSSCSS3
StatusPadrão

📝 Sintaxe

box-shadow: none | <shadow>#;
/* <shadow> = inset? && <length>{2,4} && <color>? */

⚙️ Valores

ValorTipoDescrição
nonePalavra-chaveSem sombra de caixa
<shadow>#TipoUma lista de sombras: inset? horizontal vertical desfoque propagação cor

▶ Exemplo

Edite o código abaixo e veja o resultado ao vivo no playground:

🌐 Suporte dos Navegadores

Navegador ChromeChrome EdgeEdge FirefoxFirefox SafariSafari OperaOpera
box-shadow v10 v12 v3.5 v5.1 v10.5
Suportado em todos os principais navegadores
Dica: Os dois primeiros valores de comprimento (deslocamento horizontal e vertical) são obrigatórios. O raio de desfoque e o raio de propagação têm como padrão 0, e a cor assume por padrão a cor do texto atual do elemento.
Dica: A palavra-chave inset desenha a sombra dentro do elemento, sendo comumente usada para estados pressionados ou recuados.

❓ Perguntas Frequentes

QQual é a diferença entre box-shadow e text-shadow no CSS?
AO box-shadow aplica-se a todo o modelo de caixa: a sombra segue o contorno da caixa de borda do elemento (incluindo border-radius), produzindo uma sombra projetada retangular ou arredondada. O text-shadow aplica-se apenas ao próprio texto, projetando uma sombra ao longo das letras. A sintaxe é semelhante — deslocamento, desfoque e cor —, mas o objeto afetado e a forma como se sobrepõem são completamente diferentes.
QComo escrevo múltiplas camadas de box-shadow em um único elemento?
ASepare múltiplos conjuntos de sombra com vírgulas; o primeiro conjunto é renderizado no topo. Por exemplo, box-shadow: 0 2px 4px #000, 0 8px 16px #333; desenha a primeira camada e então empilha a segunda por cima. Múltiplas sombras são frequentemente usadas para simular o decaimento de uma sombra real ou para combinar efeitos de brilho e contorno — quanto mais camadas, mais próximo da iluminação real.
QO box-shadow pode ser animado e por que a animação do box-shadow apresenta gagueira?
AO box-shadow oferece suporte a transições e animações, mas animá-lo dispara um repaint e pode apresentar gagueira em dispositivos de baixo desempenho. Para otimizar: alterne apenas o valor da sombra no hover em vez de animar o elemento inteiro; use um pseudo-elemento carregando a sombra e faça um fade com transition: opacity; ou, em casos críticos, use filter: drop-shadow(). Sempre teste nos dispositivos de destino.
QComo crio um box-shadow com inset para um efeito recuado ou pressionado?
AColoque a palavra-chave inset bem no início do valor da sombra e a sombra será projetada dentro do elemento — por exemplo, box-shadow: inset 0 2px 8px rgba(0,0,0,0.3). Sombras inset são tipicamente usadas para botões pressionados e campos de entrada recuados. Várias sombras inset podem ser separadas por vírgulas e combinadas em uma aparência 3D indentada.

📚 Tutoriais Relacionados

Web-Tutorial.com

Equipe Técnica Web-Tutorial

Uma plataforma de tutoriais mantida por diversos desenvolvedores. Cada tutorial é escrito e revisado por profissionais da área correspondente. Trabalhamos para manter nosso conteúdo preciso e confiável — se encontrar algum problema, avise-nos.

100%