Menu

Text shadow CSS: sintassi, bagliore, contorno ed esempi

text-shadow disegna una o più ombre dietro il testo. Impara i quattro valori (offset x, offset y, sfocatura, colore), come sovrapporre le ombre per effetti di bagliore, contorno e 3D, e come usare un'ombra per mantenere il testo leggibile su sfondi carichi.

Questa pagina include editor eseguibili: modifica, esegui e vedi subito l'output.

Come funziona text-shadow

text-shadow disegna una copia del testo dietro di esso, spostata e sfocata. Gli dai un offset orizzontale, un offset verticale, una sfocatura facoltativa e un colore.

3px 3px 0 #f59e0b significa 3px a destra (in senso fisico, in ogni direzione di scrittura), 3px in basso, nessuna sfocatura, ambra. La seconda ombra sfoca di 6px e usa un nero semitrasparente, la ricetta abituale per un leggero effetto di profondità.

La sintassi

text-shadow: <offset-x> <offset-y> <blur-radius>? <color>?;
ValoreObbligatorioSignificato
offset-xSìUn valore positivo sposta l'ombra a destra, uno negativo a sinistra
offset-ySìUn valore positivo la sposta in basso, uno negativo in alto
blur-radiusNo (predefinito 0)Quanto è morbido il bordo; i valori negativi non sono validi
colorNo (predefinito il colore del testo)Può stare all'inizio o alla fine

text-shadow: none rimuove un'ombra ereditata. Cambia i valori qui sotto per vedere l'effetto di ciascuno:

Prova -4px -4px 0 #16a34a, 0 0 10px red e due ombre separate da una virgola.

Ombre multiple: bagliore, contorno e 3D

Le virgole sovrappongono le ombre; la prima viene disegnata sopra. Da quest'unica regola nascono tre effetti:

  • Bagliore: offset a zero, sfocatura crescente, su uno sfondo scuro.
  • Contorno: quattro ombre nette, una per diagonale. Funziona per contorni sottili; per un contorno più spesso e uniforme, -webkit-text-stroke: 2px #111827 (supportato da tutti i browser attuali nonostante il prefisso) disegna invece un tratto sui bordi delle lettere.
  • 3D: una serie di ombre nette, ognuna 1px più lontana, così le lettere sembrano estruse.

Mantenere il testo leggibile su uno sfondo carico

Un testo bianco su una foto o una texture perde i contorni dove lo sfondo è chiaro. Un'ombra scura e morbida li riporta senza un riquadro visibile:

Un'ombra aiuta, ma non garantisce il contrasto. Per un testo lungo sopra un'immagine, aggiungi anche una sovrapposizione piena o sfumata dietro il testo.

text-shadow contro box-shadow

text-shadowbox-shadow
SegueLa forma delle lettereIl riquadro dell'elemento (e il suo border radius)
Valore spreadNoSì
insetNoSì
Multiple, separate da virgoleSìSì

Per le ombre su card e pulsanti, vedi box-shadow.

Errori comuni

  • Ombre pesanti e scure sul testo dei paragrafi. Sfocano la forma delle lettere. Tieni le ombre per titoli ed etichette brevi.
  • Dimenticare il secondo offset. text-shadow: 2px #000 non è valido; servono entrambi gli offset.
  • Una sfocatura negativa. Non è valida e l'intera dichiarazione viene scartata.
  • Aspettarsi che l'ombra occupi spazio. Viene solo disegnata; ombre grandi possono sovrapporsi alla riga successiva o essere tagliate da overflow: hidden.
  • Effetti bagliore su sfondi chiari. Un bagliore chiaro su bianco è invisibile. I bagliori hanno bisogno di uno sfondo scuro.

Domande frequenti

Qual è la sintassi di text-shadow?

text-shadow: offset-x offset-y blur-radius color;, per esempio text-shadow: 2px 2px 4px rgb(0 0 0 / 40%);. I due offset sono obbligatori; la sfocatura vale 0 per impostazione predefinita e il colore è quello del testo.

Come aggiungo più di un'ombra al testo?

Separa le ombre con virgole: text-shadow: 0 0 4px #fff, 0 0 12px #2563eb;. La prima ombra viene disegnata sopra quelle che la seguono.

Come si crea un effetto bagliore sul testo?

Usa ombre senza offset e con una sfocatura, spesso più di una con sfocatura crescente: text-shadow: 0 0 4px #60a5fa, 0 0 12px #2563eb;. Su uno sfondo scuro sembra un bagliore al neon.

text-shadow ha un valore spread come box-shadow?

No. text-shadow non ha spread né la parola chiave inset. Per ispessire l'ombra intorno alle lettere, sovrapponi più ombre o usa -webkit-text-stroke per un contorno.

text-shadow influisce sul layout?

No. L'ombra viene solo disegnata; non occupa spazio e non sposta il contenuto intorno, quindi un'ombra grande può sovrapporsi agli elementi vicini.

Illustrazione dei linguaggi di programmazione di Coddy

Impara a programmare con Coddy

INIZIA