CSS - Unità di Misura: Una Guida per Principianti

Ciao a tutti, futuri maghi del CSS! ? Benvenuti nel nostro viaggio magico nel mondo delle unità di misura del CSS. Come il vostro amico insegnante di informatica del vicinato, sono entusiasta di guidarvi attraverso questo aspetto essenziale del design web. Non preoccupatevi se non avete mai scritto una riga di codice prima – inizieremo da zero e costruiremo la nostra conoscenza insieme!

CSS - Units

Unità di Lunghezza: Le Base delle Misure CSS

Iniziamo con le basi. Nel CSS, utilizziamo diverse unità per specificare la dimensione degli elementi, i margini, il padding e molto altro. Pensate a queste unità come i righelli e i metri a nastro del mondo digitale. Ci aiutano a creare siti web che sembrano fantastici su tutti i dispositivi, dai piccoli smartphone ai grandi monitor desktop.

Ecco una tabella delle unità di lunghezza CSS più comuni:

Unità Descrizione Esempio
px Pixel 16px
em Relativo alla dimensione del font dell'elemento 1.5em
rem Relativo alla dimensione del font dell'elemento radice 2rem
% Percentuale 50%
vw Larghezza della viewport 100vw
vh Altezza della viewport 50vh

Ora, immergiamoci più a fondo in ciascuna di queste unità e vediamo come funzionano in pratica!

Unità di Misura CSS - Unità 'em'

L'unità 'em' è come un camaleonte – si adatta al suo ambiente. Un 'em' è uguale alla dimensione del font dell'elemento corrente. Questo lo rende super utile per creare design scalabili.

.parent {
font-size: 16px;
}

.child {
font-size: 1.5em; /* Questo sarà 24px */
margin-bottom: 1em; /* Questo sarà 24px anche */
}

In questo esempio, la dimensione del font dell'elemento .child sarà 24px (1.5 * 16px), e il margine inferiore sarà anche 24px. È come se la .child stesse dicendo, "Voglio essere 1.5 volte più grande del mio genitore!"

Unità di Misura CSS - Unità 'ch'

L'unità 'ch' è un po' un esperto di tipografia. È basata sulla larghezza del carattere '0' (zero) nel font corrente. Questo può essere super utile per creare layout consistenti, specialmente con font a spaziatura fissa.

.code-snippet {
font-family: 'Courier New', monospace;
width: 40ch; /* Larghezza di 40 caratteri '0' */
}

Questo creerà una casella che ha esattamente 40 caratteri di larghezza – perfetto per visualizzare snippet di codice!

Unità di Misura CSS - Unità 'rem'

L'unità 'rem' è come il saggio della famiglia CSS. Si riferisce sempre alla dimensione del font dell'elemento radice (solitamente il tag <html>), ignorando qualsiasi dimensione del font degli elementi padre.

html {
font-size: 16px;
}

.container {
font-size: 20px;
}

.container p {
font-size: 1.5rem; /* Questo sarà 24px, basato sul font size dell'html */
}

In questo caso, anche se la .container ha una dimensione del font diversa, il paragrafo al suo interno sarà comunque 24px (1.5 * 16px dal radice).

Unità di Misura CSS - Unità 'lh' e 'rlh'

L'unità 'lh' si basa sull'altezza della riga di un elemento, mentre 'rlh' si basa sull'altezza della riga dell'elemento radice. Queste sono unità più recenti e sono fantastiche per creare un ritmo verticale nei vostri design.

.paragraph {
font-size: 16px;
line-height: 1.5;
margin-bottom: 1lh; /* Questo sarà uguale all'altezza della riga */
}

Questo crea uno spazio uniforme tra i paragrafi basato sull'altezza della riga.

Unità di Misura CSS - Unità 'vh' e 'vw'

Ora entriamo nelle unità della viewport – queste sono le mie preferite! 'vh' sta per altezza della viewport, e 'vw' per larghezza della viewport. Sono percentuali della dimensione totale della viewport.

.hero-section {
height: 100vh; /* Altezza piena della viewport */
width: 100vw; /* Larghezza piena della viewport */
}

.half-width {
width: 50vw; /* Metà della larghezza della viewport */
}

Queste unità sono fantastiche per creare design reattivi che si adattano a qualsiasi dimensione di schermo. Una volta ho usato queste unità per creare una pagina di landing a schermo intero che sembrava fantastica su tutto, dai telefoni ai grandi schermi TV!

Unità di Misura CSS - Unità 'vmin' e 'vmax'

'vmin' e 'vmax' sono la coppia dinamica delle unità della viewport. 'vmin' utilizza la dimensione più piccola della viewport, mentre 'vmax' utilizza la dimensione più grande.

.square {
width: 50vmin;
height: 50vmin;
}

Questo crea un quadrato perfetto che è sempre il 50% della dimensione più piccola della viewport – ottimo per mantenere le proporzioni!

Unità di Misura CSS - Unità 'vb'

L'unità 'vb' si basa sulla dimensione della viewport nella direzione del blocco (solitamente l'altezza nelle modalità di scrittura orizzontale). È simile a 'vh' ma si adatta a diverse modalità di scrittura.

.vertical-text {
writing-mode: vertical-rl;
height: 100vb; /* Altezza piena in modalità di scrittura verticale */
}

Questo è particolarmente utile per creare layout che funzionano bene sia in modalità di scrittura orizzontale che verticale.

Unità di Misura CSS - Unità 'vi'

L'unità 'vi' è la versione in linea di 'vb'. Si basa sulla dimensione della viewport nella direzione in linea (solitamente la larghezza nelle modalità di scrittura orizzontale).

.horizontal-scroll {
width: 200vi; /* Due volte la larghezza della viewport */
overflow-x: scroll;
}

Questo crea un elemento che si scrollerà orizzontalmente e che è sempre due volte la larghezza della viewport.

Esempio - Percentuali

Le percentuali nel CSS sono sempre relative a qualcosa. Per le larghezze, sono solitamente relative alla larghezza dell'elemento padre.

.parent {
width: 300px;
}

.child {
width: 50%; /* Questo sarà 150px */
}

Qui, l'elemento .child sarà sempre metà della larghezza del suo padre. È come dire al tuo elemento, "Puoi avere metà di ciò che ha il tuo padre!"

Esempio - Numeri

A volte, vedrete proprietà CSS senza unità – solo numeri. Questi sono tipicamente utilizzati per proprietà senza unità come line-height o opacity.

p {
line-height: 1.5; /* 1.5 volte la dimensione del font */
opacity: 0.8; /* 80% opaco */
}

In questo caso, l'altezza della riga sarà 1.5 volte la dimensione del font, creando un testo ben spaziato, e l'opacità renderà il testo leggermente trasparente.

Ecco qui, gente! Abbiamo viaggiato attraverso il paese delle unità di misura del CSS. Ricorda, la chiave per padroneggiare queste è la pratica. Prova a mescolare e abbinare queste unità nei tuoi progetti, e svilupperai presto un'intuizione su quando usarle.

Buon codice, e may your layouts always be pixel-perfect! ?✨

Credits: Image by storyset