Generatore di griglie CSS

Costruisci layout CSS Grid visivamente · regola colonne, righe, spazio e allineamento, vedi un'anteprima dal vivo, copia il CSS.

Proprietà della griglia

Anteprima

CSS generato

Come usare

  1. Definisci le dimensioni della griglia: inserisci il numero di colonne e di righe per il tuo layout.
  2. Definisci le tracce: regola la larghezza di ogni colonna e l'altezza di ogni riga con unità fr, pixel, percentuali, auto o minmax().
  3. Copia il CSS: le proprietà display: grid, grid-template-columns, grid-template-rows e gap generate sono pronte da incollare nel tuo foglio di stile.

Perché usare il generatore CSS Grid?

CSS Grid è il sistema di layout più potente di CSS, capace di creare layout bidimensionali complessi che prima richiedevano tabelle, float o JavaScript. Ma padroneggiare grid-template-columns, le unità fr, minmax(), repeat() e le aree nominate richiede pratica. Questo generatore visivo ti permette di costruire qualsiasi griglia con clic e trascinamento, poi produce un CSS pulito da usare immediatamente o da studiare per approfondire la tua comprensione di Grid.

Funzionalità

Domande frequenti

Cos'è un'unità «fr» in CSS Grid?

L'unità fr (frazione) distribuisce lo spazio disponibile in modo proporzionale. In una griglia a 3 colonne con 1fr 2fr 1fr, la colonna centrale riceve il doppio dello spazio rispetto a quelle esterne. Le unità fr si dividono lo spazio rimanente dopo l'allocazione delle tracce a dimensione fissa.

Come creare una griglia responsive senza media query?

Usa repeat(auto-fill, minmax(200px, 1fr)) come valore di grid-template-columns. Questo crea il maggior numero di colonne che la dimensione minima consente, estendendosi per riempire lo spazio disponibile. Gli elementi si riorganizzano automaticamente quando la larghezza del contenitore cambia.

Qual è la differenza tra grid-template e grid-auto?

grid-template-columns/rows definisce le tracce esplicite che specifichi. grid-auto-columns/rows definisce la dimensione delle tracce implicite, colonne e righe create automaticamente quando gli elementi traboccano dalla griglia esplicita.

Una breve storia di CSS Grid

Prima di CSS Grid, i layout web hanno attraversato tre epoche dolorose. I layout basati su tabelle (1995-2008) abusavano dell'elemento <table> per la struttura visiva, con il «taglio» di composizioni Photoshop in griglie HTML. I layout basati su float (2008-2013) hanno sostituito le tabelle con la proprietà float, richiedendo trucchi «clearfix» come il micro-clearfix di Nicolas Gallagher (2011) per contenere i figli avvolti. Flexbox (CSS Flexible Box Layout Module Level 1, Raccomandazione W3C 2018) ha risolto i layout unidimensionali ma faticava con le vere griglie bidimensionali. La storia di CSS Grid è iniziata con l'implementazione -ms-grid di Microsoft in Internet Explorer 10 (2012), una versione iniziale che ha informato la specifica W3C. La prima bozza pubblica di lavoro W3C del CSS Grid Layout Module Level 1 è uscita in aprile 2011, ma il vero slancio è venuto dal lavoro di sostegno di Rachel Andrew (il suo libro Get Ready for CSS Grid Layout, 2016) e Jen Simmons (Mozilla developer advocate, circuito conferenze 2016-2018). La corsa dei browser si è risolta in una notevole finestra di due mesi nel marzo 2017: Chrome 57, Firefox 52, Safari 10.1 ed Edge 16 hanno tutti consegnato Grid senza prefisso a poche settimane di distanza l'uno dall'altro. Il W3C ha contrassegnato Grid Level 1 come Raccomandazione Candidata nel dicembre 2016; la Raccomandazione W3C finale è arrivata in agosto 2020. Subgrid (Level 2) è stato consegnato in Firefox 71 (dic. 2019), Safari 16 (sett. 2022) e Chrome 117 (sett. 2023). La prossima frontiera è il proposto layout Masonry (proposta CSS Working Group 2020, dietro flag in Firefox dal 2021).

L'anatomia di una griglia CSS

Pattern Grid del mondo reale

Standard e pietre miliari

Altre domande frequenti

Quando dovrei usare Grid invece di Flexbox?

La scorciatoia della community: Flexbox è per una dimensione, Grid per due. Se stai disponendo una riga di pulsanti o allineando elementi in un'unica direzione, Flexbox è più semplice. Se stai progettando un layout di pagina intera con righe e colonne che devono allinearsi, Grid è lo strumento giusto. Molti layout reali combinano entrambi: Grid per lo scheletro della pagina, Flexbox per l'allineamento a livello di componente all'interno di ogni area di griglia. I framework moderni (Tailwind, Bootstrap 5) abbracciano questo pattern.

CSS Grid funziona nei browser più vecchi?

Tutti i browser evergreen (Chrome, Firefox, Safari, Edge) supportano Grid da marzo 2017. Internet Explorer 11 ha solo la sintassi precedente -ms-grid (sottoinsieme, prefissato, mancante di molte funzionalità). Per il supporto IE11, usa query @supports per tornare a Flexbox o layout basati su float. A partire dal 2024, IE11 ha meno dello 0,5% di uso globale, quindi la maggior parte dei team ha abbandonato il fallback. Caniuse.com riporta oltre il 97% di supporto globale per Grid senza prefisso.

Qual è la differenza tra grid-template-areas e grid-area?

grid-template-areas è impostato sul contenitore di griglia e mappa visivamente le regioni nominate della griglia (una stringa per riga). grid-area è impostato su un elemento di griglia per assegnarlo a una di quelle regioni nominate. I due lavorano insieme: il contenitore dichiara la «mappa», gli elementi dichiarano «io sono la regione X». Puoi anche usare grid-area direttamente con numeri di linea (grid-area: 1 / 1 / 3 / 4) invece di nomi, che è utile per layout dinamici.

Cos'è subgrid e quando dovrei usarlo?

Subgrid permette a una griglia annidata di ereditare le definizioni di traccia della sua griglia genitore invece di crearne le proprie. Questo risolve il problema di allineare elementi attraverso griglie annidate, per esempio, una card con layout interno che deve allinearsi con le card circostanti. Usa grid-template-columns: subgrid sulla griglia annidata. Disponibile in Firefox 71+ (dic. 2019), Safari 16+ (sett. 2022), Chrome 117+ (sett. 2023). Ricade su una griglia annidata regolare nei browser che non la supportano.

Come interagisce Grid con l'accessibilità?

Il posizionamento Grid non cambia l'ordine sorgente del DOM: gli elementi appaiono nella posizione visiva che assegni, ma lettori di schermo e ordine di tabulazione da tastiera seguono la sorgente. WCAG 2.1 SC 1.3.2 Sequenza Significativa richiede che l'ordine sorgente abbia senso quando gli stili vengono rimossi. L'implicazione: progetta prima la tua sorgente DOM per un ordine di lettura logico, poi usa Grid per posizionare gli elementi visivamente. Se riordini gli elementi drasticamente con grid-column: 3 / 5; grid-row: 2, controlla con un lettore di schermo per confermare che l'ordine parlato abbia ancora senso.

Strumenti correlati

Visualizzatore del modello a riquadro CSS Generatore di colonne multiple CSS Generatore di CSS Flexbox Generatore di percorsi a clip CSS