Menu

Text-shadow CSS: sombra no texto, brilho, contorno e 3D

text-shadow desenha uma ou mais sombras atrás do texto. Veja os quatro valores (deslocamento x, deslocamento y, desfoque, cor), como empilhar sombras para efeitos de brilho, contorno e 3D e como usar a sombra para manter o texto legível em fundos carregados.

Esta página tem editores executáveis - edite, execute e veja a saída na hora.

Como o text-shadow funciona

text-shadow pinta uma cópia do texto atrás dele, deslocada e desfocada. Você informa um deslocamento horizontal, um deslocamento vertical, um desfoque opcional e uma cor.

3px 3px 0 #f59e0b significa 3px para a direita (físico, em qualquer direção de escrita), 3px para baixo, sem desfoque, âmbar. A segunda sombra desfoca 6px e usa um preto semitransparente, a receita comum para um efeito sutil de profundidade.

A sintaxe

text-shadow: <offset-x> <offset-y> <blur-radius>? <color>?;
ValorObrigatórioSignificado
offset-xSimPositivo move a sombra para a direita, negativo para a esquerda
offset-ySimPositivo move para baixo, negativo para cima
blur-radiusNão (padrão 0)O quanto a borda é suave; valores negativos são inválidos
colorNão (padrão: a cor do texto)Pode vir no começo ou no fim

text-shadow: none remove uma sombra herdada. Mude os valores abaixo para ver o efeito de cada um:

Experimente -4px -4px 0 #16a34a, 0 0 10px red e duas sombras separadas por vírgula.

Várias sombras: brilho, contorno e 3D

As vírgulas empilham sombras; a primeira é desenhada por cima. Três efeitos saem dessa única regra:

  • Brilho: deslocamentos zero, desfoque crescente, em fundo escuro.
  • Contorno: quatro sombras sem desfoque, uma por diagonal. Funciona para contornos finos; para um contorno uniforme mais grosso, -webkit-text-stroke: 2px #111827 (suportado em todos os navegadores atuais, apesar do prefixo) desenha um traço nas bordas das letras.
  • 3D: uma série de sombras sem desfoque, cada uma 1px mais longe, para as letras parecerem extrudadas.

Manter o texto legível em um fundo carregado

Texto branco sobre uma foto ou uma estampa perde as bordas onde o fundo é claro. Uma sombra escura e suave as traz de volta sem uma caixa visível:

A sombra ajuda, mas não garante contraste. Para textos longos sobre uma imagem, acrescente também uma camada sólida ou em degradê atrás do texto.

text-shadow vs box-shadow

text-shadowbox-shadow
SegueO formato das letrasA caixa do elemento (e o border-radius dela)
Valor de spreadNãoSim
insetNãoSim
Várias, separadas por vírgulaSimSim

Para sombras em cards e botões, veja box-shadow.

Erros comuns

  • Sombras pesadas e escuras no texto do corpo. Elas borram o formato das letras. Deixe as sombras para títulos e rótulos curtos.
  • Esquecer o segundo deslocamento. text-shadow: 2px #000 é inválido; os dois deslocamentos são obrigatórios.
  • Um desfoque negativo. É inválido e a declaração inteira é descartada.
  • Esperar que a sombra ocupe espaço. Ela só é pintada; sombras grandes podem invadir a linha seguinte ou ser cortadas por overflow: hidden.
  • Efeitos de brilho em fundos claros. Um brilho claro sobre branco fica invisível. Brilhos precisam de fundo escuro.

Perguntas frequentes

Qual é a sintaxe do text-shadow?

text-shadow: offset-x offset-y blur-radius color;, por exemplo text-shadow: 2px 2px 4px rgb(0 0 0 / 40%);. Os dois deslocamentos são obrigatórios; o desfoque vale 0 por padrão e a cor é a do texto.

Como colocar mais de uma sombra no texto?

Separe as sombras com vírgulas: text-shadow: 0 0 4px #fff, 0 0 12px #2563eb;. A primeira sombra é desenhada por cima das seguintes.

Como fazer um efeito de brilho no texto?

Use sombras sem deslocamento e com desfoque, muitas vezes várias com desfoque crescente: text-shadow: 0 0 4px #60a5fa, 0 0 12px #2563eb;. Em um fundo escuro, isso vira um brilho neon.

O text-shadow tem valor de spread como o box-shadow?

Não. O text-shadow não tem spread nem a palavra-chave inset. Para engrossar a sombra em volta das letras, empilhe várias sombras ou use -webkit-text-stroke para um contorno.

O text-shadow afeta o layout?

Não. A sombra é só pintada; ela não ocupa espaço nem move o conteúdo em volta, então uma sombra grande pode se sobrepor aos elementos próximos.

Coddy programming languages illustration

Aprenda a programar com o Coddy

COMEÇAR