In CSS, le unità di misura sono utilizzate per definire le dimensioni, le posizioni e altri aspetti degli elementi HTML all'interno di una pagina web. Ad esempio, quando scegli la dimensione di un testo:
Le unità di misura sono molto importanti nel linguaggio CSS. Alcune proprietà accettano anche valori negativi.
Le unità di misura in CSS si dividono in assolute e relative.
Le unità di misura assolute definiscono una dimensione fissa, indipendentemente dagli altri elementi o dalle dimensioni dello schermo.
Queste unità di misura possono essere utilizzate per tutte quelle proprietà che descrivono una lunghezza, ad esempio font-size
(che vedremo negli stili del testo) che permette di modificare la dimensione del testo.
Unità | Descrizione | Esempio |
cm | Centimetri | font-size: 1cm |
mm | Millimetri | font-size: 1mm |
in | Inches | font-size: 1in |
pc | Picas | font-size: 10pc |
pt | Points | font-size: 10pt |
px | Pixels | font-size: 10px |
Queste unità di misura sono strettamente geometriche, e permettono di indicare la dimensione degli angoli. Possono essere utilizzate, ad esempio, per ruotare gli elementi con transform:rotate()
.
Unità | Descrizione | Esempio |
deg | Gradi | transform: rotate(45deg) |
grad | Gradi centesimali | transform: rotate(50grad) |
rad | Radianti | transform: rotate(0.785rad) |
turn | Giris | transform: rotate(0.125turn) |
Le unità di misura del tempo possono essere utilizzate per contare il tempo, ad esempio nelle animazioni. Apparentemente, il web non può essere misurato attraverso i minuti, le ore, i giorni, i mesi o gli anni, ma soltanto attraverso i secondi e millisecondi.
Unità | Descrizione | Esempio |
s | Secondi | animation-duration: 2s |
ms | Millisecondi | animation-duration: 500ms |
Ora, vediamo le unità di misura relative.
Le unità di misura relative in CSS sono un tipo di unità di misura che definisce la dimensione, la posizione o un altro aspetto di un elemento HTML in relazione a un valore di riferimento. Questo significa che la dimensione o la posizione non è fissa, ma cambia in base al contesto in cui viene utilizzata l'unità di misura.
L'unità di misura della percentuale (%) in CSS è utilizzata per definire dimensioni relative rispetto ad un elemento di riferimento, solitamente il contenitore padre. Le percentuali sono comunemente impiegate per impostare larghezze, altezze e altre proprietà che dipendono dalle dimensioni del contenitore circostante.
Unità | Descrizione | Esempio |
% | Percentuale relativa all'elemento padre (che lo contiene), come larghezza, altezza o altri attributi. | width: 50% |
Esistono specifiche unità di misura dei testi che sono relative, ovvero si modificano in base all'elemento che contiene il testo o in base al dispositivo dell'utente. Sono molto utili per creare delle pagine che si adattano più facilmente ai vari tipi di schermo.
Unità | Descrizione | Esempio |
em | Relativa alla dimensione del font dell'elemento stesso. | font-size: 2em |
rem | Relativa alla dimensione del font dell'elemento radice (solitamente <html> ). | font-size: 1.5rem |
ch | Relativa alla larghezza del carattere "0" del font corrente. | font-size: 10ch |
lh | Relativa all'altezza della linea dell'elemento stesso. | font-size: 1.2lh |
cap | Relativa all'altezza delle lettere maiuscole del font corrente. | font-size: 2cap |
ex | Relativa all'altezza della lettera "x" minuscola del font corrente. | font-size: 4ex |
Le unità di misura del viewport (ovvero la dimensione della finestra del browser, di cui abbiamo approfondito nelle media query) in CSS sono utilizzate per creare layout e stili che si adattano dinamicamente alle dimensioni dello schermo dell'utente. Queste unità sono particolarmente utili per il design detto responsive, permettendo di definire dimensioni e posizionamenti che variano a seconda della larghezza e altezza del viewport.
Queste unità di misura si usano spesso con le proprietà height
e width
, che definiscono le dimensioni degli elementi.
Unità | Descrizione | Esempio |
vh | 1vh = 1% dell'altezza del viewport. | height: 50vh |
vw | 1vw = 1% della larghezza del viewport. | width: 50vw |
vmin | 1vmin = 1% della dimensione minore tra larghezza e altezza del viewport. | margin: 5vmin |
vmax | 1vmax = 1% della dimensione maggiore tra larghezza e altezza del viewport. | padding: 5vmax |