CSS Fogli Di Stile

Proprietà Per Il Testo

Proprietà CSS per il testo: colori, caratteri, allineamento, spaziature e gestione delle righe, con esempi e risultati visivi.

Prerequisiti: struttura HTML, sintassi di una regola CSS e inserimento dei fogli di stile.

Le proprietà CSS per il testo

Con CSS possiamo modificare la presentazione del testo senza riscrivere i contenuti HTML. In questa lezione le proprietà sono divise per funzione. Ogni tabella contiene una spiegazione, il codice HTML, una regola CSS completa e il risultato nel browser.

Non occorre memorizzare tutti i valori. Parti dalle proprietà più frequenti: color, font-family, font-size, font-weight, text-align e line-height. Le altre rispondono a esigenze più specifiche.

Come leggere e provare gli esempi

Il selettore p individua i paragrafi; le dichiarazioni tra parentesi graffe ne modificano la presentazione. Ogni anteprima è una pagina separata: la regola di una riga non modifica gli esempi delle altre righe.

p {
    color: navy;
    font-size: 18px;
}

Per provare un esempio, inserisci il frammento HTML nel <body> e il CSS in un tag <style> nella <head>, oppure in un foglio esterno collegato alla pagina. Nel file CSS non si inseriscono i tag <style>.

Una proprietà alla volta: molti esempi modificano una sola caratteristica per rendere evidente il suo effetto. Quando occorrono altre dichiarazioni, trovi la spiegazione sotto il risultato.

1. Colore e caratteri

Queste proprietà definiscono il colore e le caratteristiche del carattere. Il loro effetto dipende anche dai font disponibili sul dispositivo.

1. Colore e caratteri: esempi e risultati
Proprietà Descrizione Esempio HTML e CSS Risultato
color Imposta il colore del testo. Accetta nomi di colore, codici esadecimali e altre notazioni. Non modifica lo sfondo. HTML
<p>Questo testo è blu.</p>
CSS
p {
    color: blue;
}

Il paragrafo è blu. Altri valori possibili: #17365d e rgb(23, 54, 93).

font-family Indica una lista di famiglie di caratteri in ordine di preferenza. Il browser usa la prima disponibile. Termina la lista con una famiglia generica. HTML
<p>Un carattere senza grazie.</p>
CSS
p {
    font-family: Arial, Helvetica, sans-serif;
}

Il testo usa Arial, oppure Helvetica, oppure un carattere della famiglia sans-serif disponibile sul dispositivo.

font-size Imposta la dimensione del carattere. px indica pixel CSS; rem è relativo alla dimensione del carattere dell’elemento radice. HTML
<p>Questo testo è grande.</p>
CSS
p {
    font-size: 28px;
}

Il testo ha una dimensione di 28 pixel CSS. Un altro esempio è font-size: 1.25rem.

font-weight Imposta il peso del carattere. normal corrisponde a 400 e bold a 700. I pesi effettivamente disponibili dipendono dal font. HTML
<p>Questo testo è in grassetto.</p>
CSS
p {
    font-weight: bold;
}

Il testo è in grassetto. Si possono usare anche valori numerici come 400, 600 e 700.

font-style Imposta lo stile del carattere: normal, italic oppure oblique. L’aspetto preciso dipende dal font. HTML
<p>Questo testo è in corsivo.</p>
CSS
p {
    font-style: italic;
}

Il paragrafo è in corsivo. Per ripristinare lo stile normale si usa normal.

font-variant-caps Controlla varianti delle lettere maiuscole. small-caps visualizza le minuscole come maiuscoletto: lettere dalla forma maiuscola ma più piccole. HTML
<p>Un titolo in maiuscoletto</p>
CSS
p {
    font-variant-caps: small-caps;
}

Il testo appare in maiuscoletto. Non equivale a trasformare tutte le lettere in maiuscole della stessa dimensione.

2. Allineamento, decorazioni ed effetti

Queste proprietà controllano l’allineamento del testo nel suo contenitore e alcuni effetti visivi. Non cambiano il significato degli elementi HTML.

2. Allineamento, decorazioni ed effetti: esempi e risultati
Proprietà Descrizione Esempio HTML e CSS Risultato
text-align Allinea il testo e gli altri contenuti in linea nel contenitore. Valori comuni: left, right, center e justify. Non centra il contenitore stesso. HTML
<p>Questo testo è centrato.</p>
CSS
p {
    text-align: center;
}

Il testo è centrato nello spazio disponibile. Il paragrafo continua a occupare il proprio spazio nella pagina.

text-decoration Aggiunge decorazioni come underline e line-through. È una proprietà abbreviata che può specificare anche stile, colore e spessore della linea. HTML
<p>Una frase sottolineata.</p>
CSS
p {
    text-decoration: underline;
}

Il testo è sottolineato. Con line-through si ottiene una linea che attraversa il testo.

text-transform Controlla la visualizzazione di maiuscole e minuscole. uppercase rende tutte le lettere maiuscole; lowercase le rende minuscole; capitalize interviene sull’iniziale delle parole. HTML
<p>Una frase da evidenziare.</p>
CSS
p {
    text-transform: uppercase;
}

La frase è visualizzata in maiuscolo. Il testo scritto nel documento HTML rimane invariato.

text-shadow Aggiunge un’ombra al testo. Nell’esempio i valori sono: spostamento orizzontale, spostamento verticale, raggio di sfocatura e colore. HTML
<p>Un titolo con ombra</p>
CSS
p {
    font-size: 26px;
    text-shadow: 2px 2px 3px #999999;
}

L’ombra è spostata di 2 pixel a destra e in basso, con una sfocatura di 3 pixel. font-size rende l’effetto più visibile.

3. Spaziatura e rientri

La leggibilità dipende anche dalla distanza tra righe, lettere e parole. Queste proprietà agiscono sul testo; margin e padding, invece, gestiscono gli spazi del riquadro.

3. Spaziatura e rientri: esempi e risultati
Proprietà Descrizione Esempio HTML e CSS Risultato
line-height Imposta l’altezza della riga. Un numero senza unità è un fattore della dimensione del carattere. È spesso preferibile alle misure fisse per il testo. HTML
<p>Questa frase occupa più righe.<br>Osserva lo spazio tra una riga e l’altra.<br>Il testo rimane più arioso.</p>
CSS
p {
    font-size: 18px;
    line-height: 1.6;
}

Ogni riga ha un’altezza di 28,8 pixel: 18 × 1,6. Non si tratta di 28,8 pixel di spazio vuoto tra le lettere.

letter-spacing Modifica la spaziatura tra i caratteri. Accetta misure come px ed em, anche negative. normal mantiene la spaziatura normale. HTML
<p>LETTERE DISTANZIATE</p>
CSS
p {
    letter-spacing: 2px;
}

Tra i caratteri viene aggiunta una spaziatura di 2 pixel.

word-spacing Modifica la spaziatura tra le parole, aggiungendo o sottraendo spazio rispetto alla spaziatura normale. HTML
<p>Queste parole sono più distanti.</p>
CSS
p {
    word-spacing: 10px;
}

La spaziatura tra le parole aumenta di 10 pixel. Non cambia lo spazio tra i caratteri della stessa parola.

text-indent Imposta il rientro della prima riga del testo di un blocco. Non sposta tutte le righe come farebbe un padding. HTML
<p>La prima riga di questo paragrafo comincia con un rientro. Le righe successive tornano al normale margine del testo. Il risultato dipende dalla larghezza disponibile.</p>
CSS
p {
    text-indent: 30px;
}

Solo la prima riga parte 30 pixel più avanti. Le righe successive iniziano normalmente.

4. Spazi, ritorni a capo e testi lunghi

Queste proprietà servono quando il testo contiene spazi da conservare, parole molto lunghe oppure deve rimanere su una sola riga.

4. Spazi, ritorni a capo e testi lunghi: esempi e risultati
Proprietà Descrizione Esempio HTML e CSS Risultato
white-space Controlla la gestione degli spazi e degli a capo. normal comprime gli spazi e permette il ritorno a capo; nowrap impedisce il ritorno a capo automatico; pre-wrap conserva spazi e a capo, permettendo comunque di andare a capo. HTML
<p>Nome:    Anna
Corso:   CSS</p>
CSS
p {
    white-space: pre-wrap;
}

Gli spazi ripetuti e il ritorno a capo presenti nel codice vengono conservati.

overflow-wrap Permette di spezzare una sequenza lunga che altrimenti uscirebbe dal contenitore. anywhere consente la divisione in qualsiasi punto quando necessario. HTML
<p>UnIndirizzoMoltoLungoSenzaSpaziCheDeveRimanereNelRiquadro</p>
CSS
p {
    width: 180px;
    border: 1px solid #999999;
    overflow-wrap: anywhere;
}

La sequenza va a capo senza uscire dal riquadro. width e border rendono visibile il limite del contenitore.

text-overflow Indica come segnalare il testo che supera il limite del contenitore in direzione della riga. ellipsis mostra i puntini di sospensione. Da sola non nasconde il testo e non impedisce gli a capo. HTML
<p>Questa frase è troppo lunga per essere mostrata interamente.</p>
CSS
p {
    width: 180px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

La frase occupa una sola riga e termina con i puntini. Il testo completo rimane nel documento HTML.

5. Unità di misura e valori

ValoreSignificatoEsempio
pxPixel CSS: un’unità che non coincide necessariamente con un singolo pixel fisico dello schermo.font-size: 18px;
remRelativo alla dimensione del carattere dell’elemento radice html. Se questa è 16px, 1.25rem equivale a 20px.font-size: 1.25rem;
emIn font-size è relativo alla dimensione del carattere ereditata dal genitore. In letter-spacing è relativo alla dimensione del carattere dell’elemento stesso.letter-spacing: 0.05em;
Numero senza unitàIn line-height è un fattore della dimensione del carattere. Non tutte le proprietà accettano numeri senza unità.line-height: 1.6;
Parola chiaveUn valore predefinito ammesso dalla proprietà.font-weight: bold;
Attenzione alle unità: scrivi font-size: 18px;, non font-size: 18;. Invece line-height: 1.6; è corretto e non richiede un’unità.

Gli stili del testo possono essere ereditati

Molte proprietà del testo, come color e font-family, vengono ereditate dai discendenti quando questi non hanno un proprio valore applicabile. Per impostare un aspetto generale della pagina possiamo partire dal body:

body {
    font-family: Arial, sans-serif;
    font-size: 18px;
    line-height: 1.6;
    color: #333333;
}

h1 {
    color: #17365d;
    font-size: 2rem;
}

Il titolo usa il carattere impostato sul body, ma ha un proprio colore e una propria dimensione. Non tutte le proprietà CSS sono ereditate: per esempio margin e padding normalmente non lo sono.

6. Combinare le proprietà

In una pagina reale combiniamo più dichiarazioni. Qui distinguiamo il titolo dal paragrafo e utilizziamo un’altezza di riga che facilita la lettura.

HTML

<h1>Imparare il CSS</h1>
<p>Il CSS permette di scegliere colori, caratteri e spaziature.
Un testo ben organizzato rende più semplice leggere una pagina.</p>

CSS

body {
    font-family: Arial, sans-serif;
    color: #333333;
}

h1 {
    color: #17365d;
    font-size: 28px;
    font-weight: bold;
    text-align: center;
}

p {
    font-size: 18px;
    line-height: 1.6;
}

Risultato

La proprietà abbreviata font

Dopo aver imparato le singole proprietà, possiamo utilizzare font per raccoglierne diverse in una dichiarazione:

p {
    font: italic bold 18px/1.6 Arial, sans-serif;
}

Questo esempio imposta corsivo, grassetto, dimensione di 18 pixel, altezza di riga pari a 1,6 e famiglia Arial con alternativa sans-serif. La dimensione e la famiglia devono essere presenti. La proprietà abbreviata reimposta anche le proprietà del font che non vengono specificate: all’inizio è più semplice usare le dichiarazioni separate.

7. Indicazioni per un testo leggibile

  • Scegli un colore che si distingua chiaramente dallo sfondo.
  • Usa dimensioni adeguate e controlla il risultato anche su uno schermo piccolo.
  • Lascia spazio tra le righe: puoi partire da line-height: 1.5 o 1.6 e valutare il testo concreto.
  • Evita interi paragrafi in maiuscolo e spaziature eccessive tra le lettere.
  • Usa ombre e decorazioni con moderazione.
  • Con justify controlla che non compaiano spazi troppo ampi tra le parole, soprattutto nelle colonne strette.
  • Se usi text-overflow: ellipsis, prevedi un modo per leggere il contenuto completo quando è necessario.
Struttura e presentazione: per un vero titolo usa un elemento h1, h2 o un altro livello appropriato. Aumentare font-size su un paragrafo non lo trasforma in un titolo. Usa strong per indicare importanza ed em per l’enfasi; font-weight e font-style modificano soltanto la presentazione.

8. Verifica dei concetti

Prova a rispondere prima di aprire le risposte.

1. Qual è la differenza tra font-size e font-weight?
Font-size imposta la dimensione del carattere. Font-weight ne imposta il peso, per esempio normale o grassetto.
2. Con font-size: 20px e line-height: 1.5, quanto è alta la riga?
30 pixel CSS: 20 × 1,5. Questa è l’altezza della riga, non la misura dello spazio vuoto tra due righe.
3. Text-align: center centra anche il riquadro del paragrafo?
No. Allinea al centro il testo e i contenuti in linea all’interno del paragrafo. La posizione del riquadro si gestisce con altre proprietà.
4. Come si conserva un ritorno a capo presente nel testo HTML?
Per conservare spazi e ritorni a capo consentendo comunque al testo di adattarsi alla larghezza disponibile, si può usare white-space: pre-wrap.
5. Perché text-overflow: ellipsis da solo può non mostrare i puntini?
Occorre che il testo superi una larghezza limitata e che l’eccedenza sia nascosta. Nell’esempio si combinano width, white-space: nowrap, overflow: hidden e text-overflow: ellipsis.
6. Perché si scrivono più caratteri in font-family?
Il primo carattere potrebbe non essere disponibile. Il browser prova le alternative nell’ordine indicato e, alla fine, può usare la famiglia generica.