Risparmia tempo con la proprietà abbreviata griglia CSS

Nelle esercitazioni precedenti abbiamo imparato come impostare una griglia, definendo le sue proprietà esplicite (come grid-template-colonne e Grid-template-aree) e anche alcune delle sue proprietà implicite (come grid-auto-colonne). In questo tutorial esamineremo la proprietà stenografica griglia che tratta rapidamente tutto quanto sopra in una singola affermazione.

La tua griglia, in due semplici linee

Come al solito, inizia dichiarando display: grid; sul tuo contenitore. Quindi, usa il griglia proprietà per disporre le righe, quindi le colonne:

.grid-1 display: grid; grid: 100px auto 300px / repeat (2, 1fr) 100px; 

L'affermazione sopra dice che vogliamo tre righe esplicite di 100px, auto e 300px. E (usando il ripetere() funzione) due colonne di 1fr, quindi una di 100px. È esattamente la stessa di questa versione più lunga:

.grid-1 display: grid; grid-template-rows: 100px auto 300px; grid-template-columns: repeat (2, 1fr) 100px; 

Entrambe le affermazioni ci danno questo:

Aggiunta di valori impliciti nel mix

I valori impliciti sono ciò che chiediamo a Grid di utilizzare oltre i valori espliciti che definiamo. Nel griglia stenografia non possiamo combinare i due quindi dobbiamo fare una scelta. Dai un'occhiata a questo, per esempio:

.grid-1 display: grid; grid: auto-flow 100px / 1fr 100px; 

In questo caso abbiamo bloccato con colonne esplicite (una di 1fr, un'altra di 100px) ma le nostre righe utilizzano una forma abbreviata di grid-auto-flow e grid-auto-righe. Dice "Quando devi aggiungere più tracce alla griglia, aggiungili come righe. E fai ognuno un massimo di 100 px. " È lo stesso di questo:

.grid-1 display: grid; grid-template-columns: 1fr 100px; grid-auto-flow: row; grid-auto-rows: 100px; 

Questo comportamento è abbastanza predefinito, ma vediamo un cambiamento maggiore se chiediamo invece alla nostra griglia implicita di utilizzare colonne aggiuntive:

.grid-1 display: grid; grid: 100px 300px / auto-flow 100px; 

Questo ci dà due righe di 100 px e 300 px, quindi imposta in modo efficace grid-auto-flow: column;. È lo stesso di:

.grid-1 display: grid; grid-template-rows: 100px 300px; grid-auto-flow: column; grid-auto-columns: 100px; 

Ora, l'algoritmo di posizionamento automatico posiziona gli articoli dall'alto verso il basso, aggiungendo colonne a destra quando esaurisce lo spazio:

Nota: non possiamo dichiarare auto-flow su entrambe le righe e colonne, che non funzioneranno.

La parola chiave di imballaggio

Se ripensi al nostro tutorial Capire la griglia CSS "Algoritmo di posizionamento automatico" ti ricorderai di aver discusso scarso e denso; parole chiave che descrivono il modo in cui gli elementi sono raggruppati in una griglia. Questi possono anche essere usati insieme auto-flow, come questo:

.grid-1 display: grid; griglia: 100px 300px / flusso automatico denso 100px; 

Aree del modello di griglia

Le aree dei modelli sono un modo di denominare le aree della nostra griglia, in quello che è quasi un modo visivamente rappresentativo. Nella sua forma più semplice, useremmo semplicemente griglia per descrivere le aree del nostro modello e nient'altro:

.grid-1 display: grid; grid: "header header header" "main main sidebar" "footer footer footer"; 

Quindi dovremmo indicare in quale area si riempie ogni elemento della griglia, in questo modo: 

.item-1 grid-area: header; 

Se richiami il tutorial delle aree template originali, abbiamo ricevuto ulteriori dettagli per darci le dimensioni di colonne e righe:

.grid-1 display: grid; grid-template-columns: repeat (3, 1fr); grid-template-rows: 80px 180px 80px; grid-template-areas: "header header header" "main main sidebar" "footer footer footer"; 

Possiamo farlo anche noi, come segue:

.grid-1 display: grid; griglia: "header header header" 80px "main main sidebar" 180px "footer footer footer" 80px / 1fr 1fr 1fr; 

Aggiungiamo le larghezze delle colonne dopo la barra (la ripetere() la funzione non funzionerà in questo caso, ma non so perché). E aggiungiamo l'altezza delle righe in linea dopo le dichiarazioni di area. Questo è ciò che finiamo con:

Conclusione

Questo tutorial dovrebbe darti una comprensione di come griglia lavori di proprietà stenografiche. Giocaci, guarda quali altri aspetti del modulo Grid CSS puoi usare e facci sapere quanto tempo ti risparmia!

Rilevanti tutorial e collegamenti

  • sintassi abbreviata di griglia su MDN
  • griglia abbreviazione su W3C