CSS - Unità di Misura

Ciao a tutti, futuri designer web! Oggi ci imbarcheremo in un viaggio emozionante attraverso il mondo delle unità di misura CSS. Come il tuo amico insegnante di informatica del vicinato, sono qui per guidarti attraverso questo aspetto essenziale del design web. Allora, prendi il tuo righello virtuale e misuriamo un po' di CSS!

CSS - Measurement Units

Unità di Lunghezza

In CSS, abbiamo diversi modi per misurare e definire le dimensioni. È come avere una cassetta degli attrezzi piena di diversi righelli, ciascuno perfetto per compiti specifici. Iniziamo con le basi:

Unità di Lunghezza Assolute

Queste sono le semplici, come le pollici sul tuo righello:

Unità Descrizione
px Pixel
in Pollici
cm Centimetri
mm Millimetri
pt Punti
pc Picas

Ecco un esempio semplice:

.box {
width: 100px;
height: 2in;
margin: 10mm;
}

In questo codice, stiamo creando una scatola larga 100 pixel, alta 2 pollici, con un margine di 10 millimetri tutto intorno. È come costruire una piccola scatola di cartone precisa!

Unità di Misura CSS - Unità 'em'

Ora, parliamo dell'unità 'em'. È un'unità relativa, basata sulla dimensione del font dell'elemento. Pensa a essa come a un camaleonte che cambia dimensione in base al suo contesto.

.parent {
font-size: 16px;
}

.child {
font-size: 1.5em; /* Questo sarà 24px */
padding: 2em;     /* Questo sarà 48px */
}

In questo esempio, la dimensione del font del figlio è 1.5 volte quella del padre, e il suo padding è il doppio della sua propre dimensione del font. È come una matrioska di dimensioni!

Unità di Misura CSS - Unità 'ch'

L'unità 'ch' è basata sulla larghezza del carattere '0' (zero). È particolarmente utile per creare layout a colonne in font monospace.

.code-block {
width: 80ch;
font-family: monospace;
}

Questo crea un blocco di codice largo 80 caratteri, perfetto per chi è nostalgico dei giorni dei terminali a 80 colonne!

Unità di Misura CSS - Unità 'rem'

'rem' sta per "root em". È simile a 'em', ma è sempre relativo all'elemento radice (solitamente

), non al padre.
html {
font-size: 16px;
}

.box {
font-size: 1.5rem; /* Sempre 24px, indipendentemente dal padre */
padding: 2rem;     /* Sempre 32px */
}

Questo è ottimo per mantenere una dimensione coerente in tutto il documento, come avere un progetto principale per l'intero sito web.

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

'lh' sta per "altezza della riga" dell'elemento, mentre 'rlh' è l'"altezza della radice della riga". Queste sono unità più recenti, perfette per il ritmo verticale nella tipografia.

.paragraph {
line-height: 1.5;
margin-bottom: 1lh;
}

Questo imposta il margine inferiore del paragrafo esattamente all'altezza della riga, creando un ritmo verticale armonioso. È come dirigere un'orchestra di testo!

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

'vh' e 'vw' stanno per "altezza della viewport" e "larghezza della viewport" rispettivamente. Sono unità percentuali basate sulla dimensione della viewport.

.hero {
height: 100vh;
width: 100vw;
}

Questo crea una sezione eroica che sempre riempie l'intero schermo, indipendentemente dalla dimensione del dispositivo. È come avere un billboard responsivo che si adatta sempre perfettamente!

Unità di Misura CSS - Unità 'vmin' (minimo della viewport) e 'vmax' (massimo della viewport)

Queste unità sono basate sulla dimensione più piccola o più grande della viewport, a seconda di cosa è appropriato.

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

Questo crea un quadrato perfetto che è sempre metà della dimensione della più piccola viewport. È come avere un quadrato mutante che sempre sembra proporzionato!

Unità di Misura CSS - Unità 'vb'

'vb' sta per "dimensione del blocco della viewport". È simile a 'vh', ma rispetta la modalità di scrittura del documento.

.sidebar {
width: 20vb;
}

Questo crea una barra laterale che è sempre il 20% della dimensione del blocco della viewport, che è ottimo per siti multilingue con diverse direzioni di scrittura.

Unità di Misura CSS - Unità 'vi'

'vi' è la "dimensione inline della viewport". È come 'vw', ma di nuovo, rispetta la modalità di scrittura.

.header {
height: 10vi;
}

Questo crea un'intestazione che è sempre il 10% della dimensione inline della viewport, adattandosi facilmente a diverse modalità di scrittura.

Esempio - Percentuali

Le percentuali in CSS sono sempre relative a qualcosa. Vediamole in azione:

.container {
width: 80%;
margin: 0 auto;
}

.child {
width: 50%;
padding: 5%;
}

Qui, il contenitore è l'80% della larghezza del padre, centrato con margini automatici. Il figlio è metà della larghezza del contenitore, con un padding che è il 5% della larghezza del contenitore. È come le matrioske, ma con scatole invisibili!

Esempio - Numeri

A volte, le proprietà CSS non richiedono unità affatto. Vediamo alcuni esempi:

.box {
opacity: 0.5;
line-height: 1.5;
z-index: 100;
}

Qui, l'opacità è un valore tra 0 e 1, l'altezza della riga è un moltiplicatore della dimensione del font, e l'z-index è solo un numero per l'ordine di sovrapposizione. È come avere un potenziometro, uno spaziatore di testo e un ordinatore di strati tutto in uno!

E voilà, ragazzi! Abbiamo intrapreso un viaggio attraverso il paese delle unità di misura CSS, dai pixel familiari alle unità di viewport esotiche. Ricorda, scegliere l'unità giusta è come scegliere lo strumento giusto per il lavoro - può rendere la tua vita più facile e i tuoi design più robusti. Quindi vai avanti e misura con responsabilità!

Credits: Image by storyset