Sizing: height in TailwindCSS

GCGiuseppe Crescitelli

Concetto di altezza

Le utility di height controllano l’altezza di un elemento CSS tramite la proprietà height. TailwindCSS fornisce classi predefinite, basate su una scala coerente, unità relative allo schermo e valori arbitrari per coprire ogni esigenza di layout.

Scala predefinita

Tailwind utilizza una scala numerica condivisa con padding e margin. Le classi seguono il formato h-valore.

Esempi comuni:

  • h-0 → height: 0px
  • h-1 → height: 0.25rem
  • h-2 → height: 0.5rem
  • h-4 → height: 1rem
  • h-8 → height: 2rem
  • h-16 → height: 4rem
  • h-64 → height: 16rem

Questa scala garantisce coerenza visiva e facilità di manutenzione.

Altezza automatica

La classe h-auto imposta height: auto.
È utile quando l’altezza deve adattarsi dinamicamente al contenuto, ad esempio per card o sezioni con testo variabile.

Pixel singoli

La classe h-px imposta un’altezza di 1px.
È particolarmente indicata per divider, linee di separazione o elementi decorativi sottili.

Percentuali e contenitore

La classe h-full imposta height: 100%.
Funziona solo se il contenitore padre ha un’altezza definita. È comune in layout flex o grid dove l’altezza del contenitore è controllata esplicitamente.

Altezza rispetto alla viewport

Tailwind fornisce utility basate sull’altezza della finestra del browser.

Classi principali:

  • h-screen → 100vh
  • h-svh → small viewport height
  • h-lvh → large viewport height
  • h-dvh → dynamic viewport height

Le varianti svh, lvh e dvh sono pensate per una migliore gestione delle barre di sistema sui dispositivi mobili.

Altezza minima

Le utility min-h-valore controllano la proprietà min-height.

Esempi utili:

  • min-h-0 → utile in layout flex per evitare overflow inattesi
  • min-h-full → altezza minima pari al contenitore
  • min-h-screen → sezione sempre alta almeno quanto la viewport

Sono fondamentali per layout flessibili e colonne con contenuto variabile.

Altezza massima

Le utility max-h-valore impostano max-height.

Esempi comuni:

  • max-h-0 → nasconde contenuti con overflow
  • max-h-screen → limita l’altezza alla viewport
  • max-h-full → non supera l’altezza del contenitore

Spesso vengono usate insieme a overflow-auto o overflow-y-scroll.

Valori speciali

Tailwind include classi per valori CSS chiave:

  • h-fit → height: fit-content
  • h-min → height: min-content
  • h-max → height: max-content

Queste classi sono utili per layout avanzati e componenti che devono adattarsi precisamente al contenuto.

Valori arbitrari

Quando la scala predefinita non è sufficiente, è possibile usare valori arbitrari.

Esempi:

  • h-[72px]
  • h-[30vh]
  • h-[calc(100%-4rem)]

Questa funzionalità permette di usare qualsiasi unità CSS mantenendo la sintassi di Tailwind.

Responsive design

Le utility di height possono essere combinate con i breakpoint responsive.

Esempio:

  • h-32 md:h-64 lg:h-screen

In questo modo l’altezza cambia in base alla dimensione dello schermo, senza scrivere media query manuali.

Interazione con flex e grid

In layout flex e grid, l’altezza spesso lavora insieme a:

  • flex-grow
  • items-stretch
  • place-items-stretch

h-full e min-h-0 sono particolarmente importanti per evitare problemi di overflow nei layout verticali complessi.

Personalizzazione nel tema

La scala delle altezze può essere estesa o modificata nel file tailwind.config.js, aggiungendo nuovi valori alla chiave theme.height, minHeight o maxHeight.

Questo consente di mantenere uno stile coerente anche in progetti di grandi dimensioni.

Buone pratiche

Definire height solo quando necessario, preferendo contenuti fluidi.
Usare min-height per garantire stabilità visiva.
Limitare l’uso di valori arbitrari ai casi in cui la scala standard non è sufficiente.