0Pricing
Frontend Academy · Lezione

CSS Grid: template-areas, auto-fit e minmax

Assegnare nomi alle aree della griglia per creare layout leggibili, usare auto-fit con minmax() per colonne responsive e controllare le tracce implicite.

CSS Grid: template-areas, auto-fit e minmax è una lezione Frontend Academy gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Frontend Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Frontend Academy include 4 lezioni in totale.

Aree di template denominate — layout visivo

grid-template-areas consente di denominare le regioni usando un formato visivo simile all'ASCII art. Ogni stringa rappresenta una riga; ogni parola una cella. I punti (.) rappresentano le celle vuote. Assegni gli elementi con grid-area: name.

.layout {
  display: grid;
  grid-template-areas:
    'header header'
    'sidebar main'
    'footer  footer';
  grid-template-columns: 240px 1fr;
  grid-template-rows: 60px 1fr 48px;
  min-height: 100vh;
}
header  { grid-area: header;  }
.sidebar { grid-area: sidebar; }
main    { grid-area: main;    }
footer  { grid-area: footer;  }

Aree di template responsive con le media query

Modifichi il layout delle template areas nei breakpoint per spostare la barra laterale da una colonna a una posizione sotto main sui dispositivi mobili.

.layout {
  grid-template-areas:
    'header'
    'main'
    'sidebar'
    'footer';
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .layout {
    grid-template-areas:
      'header  header'
      'sidebar main'
      'footer  footer';
    grid-template-columns: 220px 1fr;
  }
}

auto-fit e auto-fill

auto-fit: comprime le tracce vuote, così gli elementi si espandono fino a riempire la riga. auto-fill: mantiene la struttura della griglia anche quando alcune tracce sono vuote. Per le griglie responsive di schede, auto-fit è quasi sempre la scelta giusta.

.cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 16px;
}

minmax() in dettaglio

minmax(min, max) definisce una traccia con dimensione minima min e massima max. Combinazioni comuni: minmax(0, 1fr) (completamente flessibile), minmax(200px, 1fr) (responsive con una dimensione minima), minmax(auto, auto) (dimensionata in base al contenuto).

Colonne e righe estese

Usi grid-column: span 2 per estendere un elemento su due colonne. Lo combini con grid-row: span 2 per creare un elemento in evidenza che occupa un blocco 2×2 nella griglia.

.featured {
  grid-column: span 2;
  grid-row: span 2;
}

/* Or explicit placement: */
.featured {
  grid-column: 1 / 3;  /* from line 1 to line 3 */
  grid-row: 1 / 3;
}

Posizionamento automatico denso

grid-auto-flow: dense riempie nuovamente gli spazi vuoti con elementi più piccoli. È utile per creare layout simili a mosaici, in cui gli elementi hanno dimensioni diverse.

.mosaic {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-flow: dense;
  gap: 8px;
}

Unità frazionarie e percentuali

L'unità fr si riferisce sempre allo spazio disponibile dopo aver sottratto le tracce di dimensione fissa e gli spazi. La combinazione di fr e dimensioni fisse offre la massima flessibilità: barra laterale fissa e area principale flessibile.

grid-auto-columns e grid-auto-rows

Queste proprietà controllano la dimensione delle tracce create implicitamente, quando gli elementi vengono posizionati al di fuori della griglia esplicita. grid-auto-rows: minmax(100px, auto) assegna alle righe implicite un'altezza minima.

.photo-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows: minmax(200px, auto);
  gap: 8px;
}

Ispezionare Grid in DevTools

Chrome DevTools sovrappone le linee della griglia e i nomi delle aree alla pagina quando fa clic sul badge 'grid' accanto a un contenitore grid nel pannello Elements. Lo utilizzi per eseguire il debug delle dimensioni inattese delle tracce e del posizionamento degli elementi.

CSS Subgrid

grid-template-columns: subgrid consente a una griglia annidata di allinearsi alle tracce della griglia principale. È supportato in tutti i browser moderni dal 2023: è essenziale per allineare i contenuti interni delle schede in una griglia.

.card-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.card {
  display: grid;
  grid-row: span 3;
  grid-template-rows: subgrid; /* aligns to parent rows */
}

Quando Grid è preferibile a Flexbox

Grid è la scelta migliore quando serve un controllo bidimensionale esplicito, cioè quando contano sia le righe sia le colonne. Se invece si desidera semplicemente disporre gli elementi in una riga o in una pila, Flexbox è più semplice.

Verifica rapida

Quale valore di CSS Grid crea tante colonne quante ne entrano, con una dimensione minima di 200px, facendo condividere a ogni colonna in parti uguali lo spazio rimanente?

Riepilogo: CSS Grid avanzato

grid-template-areas crea layout denominati e facili da leggere. auto-fit + minmax crea griglie responsive senza media query. Estenda gli elementi su più colonne e righe. Il posizionamento automatico denso riempie gli spazi vuoti. Usi la sovrapposizione della griglia di DevTools per eseguire il debug. Subgrid allinea gli elementi annidati alle tracce della griglia principale.

Domande Frequenti

La lezione «CSS Grid: template-areas, auto-fit e minmax» è gratuita?

Sì — il testo completo di «CSS Grid: template-areas, auto-fit e minmax» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Frontend Academy, passa a CoddyKit PRO. Il corso Frontend Academy include 4 lezioni in totale.

Cosa imparerò in «CSS Grid: template-areas, auto-fit e minmax»?

Assegnare nomi alle aree della griglia per creare layout leggibili, usare auto-fit con minmax() per colonne responsive e controllare le tracce implicite. Eserciti Frontend Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Frontend Academy?

Non è richiesta alcuna esperienza precedente. Frontend Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.

Quanto tempo richiede la lezione «CSS Grid: template-areas, auto-fit e minmax»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Frontend Academy?

Sì. Ogni lezione Frontend Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Approfondimento su Flexbox: allineamento, wrapping e ordine
  2. CSS Grid: template-areas, auto-fit e minmax
  3. Combinare Flexbox e Grid
  4. Variabili CSS per i temi
← Torna a Frontend Academy