Menu

Colore del testo HTML: come cambiarlo con CSS

Il tag <font color> è obsoleto; in HTML il colore del testo si imposta con la proprietà CSS color. Scopri come colorare una pagina intera, una sola parola, un link o un titolo, con colori con nome, hex e rgb, e come mantenere il testo leggibile.

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

Come cambiare il colore del testo in HTML

Usa la proprietà CSS color. Imposta il colore del testo di un elemento, e ogni elemento al suo interno eredita lo stesso colore, a meno che non ne imposti uno suo.

La proprietà si chiama color, non font-color o text-color. Quei nomi non esistono in CSS e vengono ignorati in silenzio.

Perché non il tag font

I vecchi tutorial mostrano <font color="red">. Quel tag è stato rimosso da HTML anni fa: i validatori lo segnalano come errore, e mescola lo stile con il markup, quindi cambiare un colore significa modificare a mano ogni tag. I browser lo disegnano ancora per compatibilità, ed è l'unico motivo per cui sembra funzionare.

<!-- obsolete -->
<font color="red">Warning</font>

<!-- use this -->
<span style="color: red;">Warning</span>

<!-- or better, a class you can change in one place -->
<span class="warning">Warning</span>

Modi di scrivere il colore

color accetta tutti i formati di colore CSS. I quattro più comuni:

FormatoEsempioNote
Con nomecolor: tomato;148 colori con nome, comodi per prove veloci
Hexcolor: #2563eb;Il più comune nei file di design
rgb()color: rgb(37 99 235);Rosso, verde e blu da 0 a 255
hsl()color: hsl(221 83% 53%);Tonalità, saturazione, luminosità: facile da schiarire o scurire

Hex, rgb() e hsl() possono avere un canale alfa per un testo semitrasparente, come #2563eb80 o rgb(37 99 235 / 50%). La pagina sui colori CSS spiega ogni formato.

Colorare una pagina intera, un titolo o una sezione

Imposta il colore una volta su body e lascia che l'ereditarietà faccia il resto, poi sovrascrivilo dove serve:

Un quasi nero morbido come #111827 o #374151 su bianco affatica meno gli occhi di un #000000 puro e si legge comunque come nero.

I link sono l'eccezione all'ereditarietà: il browser dà loro un blu tutto loro (e viola dopo la visita), quindi un colore sul genitore non li raggiunge. Impostalo sul link, oppure di' al link di ereditarlo:

:hover, :visited e :focus-visible ti permettono di cambiare il colore per ogni stato; la pagina sull'hover li tratta. Quando un link ha lo stesso colore del testo intorno, mantieni la sottolineatura, così resta riconoscibile come link.

Rendi il testo leggibile: il contrasto

Il colore del testo è solo metà della coppia; l'altra metà è lo sfondo. Le WCAG chiedono un rapporto di contrasto di almeno 4.5:1 per il testo normale e 3:1 per il testo grande (circa 24px, o 19px in grassetto).

Il testo grigio chiaro in stile placeholder è l'errore più comune. Gli strumenti per sviluppatori di Chrome e Firefox mostrano il rapporto di contrasto quando ispezioni il colore di un testo.

currentColor: riusa il colore del testo

currentColor è una parola chiave che vale quanto il color dell'elemento. Bordi, contorni e icone SVG inline possono usarla, quindi cambiando un solo color si ricolorano insieme il testo e le sue decorazioni:

Errori comuni

  • Scrivere font-color o text-color. La proprietà è color.
  • Usare il tag <font>. È obsoleto; usa il CSS.
  • Aspettarsi che i link ereditino. Imposta a { color: ... } oppure color: inherit.
  • Il colore come unico segnale. "I campi in rosso sono obbligatori" non funziona per chi non distingue il rosso. Aggiungi un testo o un'icona.
  • Testo grigio a basso contrasto. Controlla il rapporto: 4.5:1 o più per il testo normale.
  • Usare opacity per schiarire il testo. Sbiadisce l'intero elemento, sfondo e figli compresi. Usa invece un colore più chiaro o un colore con alfa.

Domande frequenti

Come si cambia il colore del testo in HTML?

Usa la proprietà CSS color, in un foglio di stile o in un attributo style: <p style="color: #2563eb;">Blue text</p>. Il vecchio tag <font color> è obsoleto.

Il tag <font> è ancora supportato?

I browser lo disegnano ancora perché le pagine molto vecchie continuino a funzionare, ma in HTML è obsoleto e i validatori lo segnalano come errore. Usa invece color in CSS.

Come cambio il colore di una sola parola?

Racchiudi la parola in uno <span> e dagli un colore: This is <span style="color: #dc2626;">red</span>. Usa <strong> o <em> al posto di <span> se la parola è anche importante o enfatizzata.

Perché il mio link non cambia colore quando imposto color sul genitore?

I link hanno un loro colore dal foglio di stile del browser, quindi non ereditano quello del genitore. Impostalo sul link stesso (a { color: #2563eb; }) oppure usa a { color: inherit; } per seguire il genitore.

In CSS si scrive font-color o color?

Si scrive color. Non esiste una proprietà font-color o text-color; il browser le ignora.

Illustrazione dei linguaggi di programmazione di Coddy

Impara a programmare con Coddy

INIZIA