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>.
1. Colore e caratteri
Queste proprietà definiscono il colore e le caratteristiche del carattere. Il loro effetto dipende anche dai font disponibili sul dispositivo.
| 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
CSS
|
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
CSS
|
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
CSS
|
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
CSS
|
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
CSS
|
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
CSS
|
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.
| 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
CSS
|
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
CSS
|
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
CSS
|
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
CSS
|
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.
| 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
CSS
|
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
CSS
|
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
CSS
|
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
CSS
|
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.
| 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
CSS
|
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
CSS
|
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
CSS
|
La frase occupa una sola riga e termina con i puntini. Il testo completo rimane nel documento HTML. |
5. Unità di misura e valori
| Valore | Significato | Esempio |
|---|---|---|
px | Pixel CSS: un’unità che non coincide necessariamente con un singolo pixel fisico dello schermo. | font-size: 18px; |
rem | Relativo alla dimensione del carattere dell’elemento radice html. Se questa è 16px, 1.25rem equivale a 20px. | font-size: 1.25rem; |
em | In 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 chiave | Un valore predefinito ammesso dalla proprietà. | font-weight: bold; |
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.
8. Verifica dei concetti
Prova a rispondere prima di aprire le risposte.