Vai al contenuto principale

[Medium] Unità CSS

1. Qual è la differenza tra px, em, rem, vw e vh?

Confronto rapido

UnitàTipoRelativa aUso tipico
pxSimile ad assolutaPixel CSSBordi, ombre, dettagli fini
emRelativaDimensione font dell'elemento (o del genitore per font-size)Spaziatura/scala locale
remRelativaDimensione font del root (html)Tipografia e spaziatura globale
vwRelativa1% della larghezza del viewportLarghezza/layout fluido
vhRelativa1% dell'altezza del viewportSezioni a tutta altezza

2. Comportamento delle unità con esempi

px

.card {
border: 1px solid #d1d5db;
border-radius: 8px;
}

Da usare per dettagli visivi nitidi.

em

.button {
font-size: 1rem;
padding: 0.5em 1em;
}

Il padding si scala con la dimensione del font di questo elemento.

rem

html {
font-size: 16px;
}

h1 {
font-size: 2rem; /* 32px */
}

Ottimo per dimensioni coerenti tra i componenti.

vw e vh

.hero {
min-height: 100vh;
padding-inline: 5vw;
}

Da usare per layout guidati dal viewport.

3. Altre unità utili

%

Relativa alla dimensione del genitore/riferimento.

.container {
width: 80%;
}

vmin e vmax

  • 1vmin: 1% del lato più piccolo del viewport
  • 1vmax: 1% del lato più grande del viewport

ch

Approssimativamente la larghezza del carattere 0. Utile per lunghezze di riga leggibili.

.prose {
max-width: 65ch;
}

4. Regole pratiche

  • Usare rem per font e scala di spaziatura
  • Usare px per bordi/effetti sottili
  • Usare % per contenitori fluidi
  • Usare vw/vh per sezioni guidate dal viewport
  • Usare em quando si desidera uno scaling locale al componente

5. Avvertenza sul viewport mobile

Nei browser mobile, le barre degli indirizzi dinamiche possono rendere 100vh instabile.

Preferire le unità più recenti dove supportate:

  • dvh: altezza viewport dinamica
  • svh: altezza viewport piccola
  • lvh: altezza viewport grande
.full-screen {
min-height: 100dvh;
}

6. Risposte rapide per i colloqui

D1: Perché molti team preferiscono rem a px per la tipografia?

Centralizza lo scaling dalla dimensione font del root e migliora la coerenza.

D2: Perché gli em annidati possono essere problematici?

Si compongono in base alle dimensioni font locali, il che può sfuggire di mano inaspettatamente.

D3: Quando px è ancora la scelta giusta?

Per dettagli visivi esatti come bordi, ombre e aggiustamenti di allineamento delle icone.