0Pricing
CSS Academy · Lezione

Gap e posizionamento nella griglia

Aggiungete spazio tra le celle della griglia con gap e posizionate gli elementi utilizzando grid-column e grid-row.

Gap e posizionamento nella griglia è una lezione CSS Academy gratuita su CoddyKit. Questa è la lezione 3 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 CSS Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso CSS Academy include 4 lezioni in totale.

Gap in CSS Grid

La proprietà gap imposta lo spazio tra le righe e le colonne della griglia. Sostituisce la precedente proprietà grid-gap e funziona anche in Flexbox.

<div class="grid">
  <div style="background:#4f8cff22;border:1px solid #4f8cff;padding:12px;border-radius:4px;">1</div>
  <div style="background:#ffb84d22;border:1px solid #ffb84d;padding:12px;border-radius:4px;">2</div>
  <div style="background:#7ee78722;border:1px solid #7ee787;padding:12px;border-radius:4px;">3</div>
  <div style="background:#ff6b6b22;border:1px solid #ff6b6b;padding:12px;border-radius:4px;">4</div>
  <div style="background:#b57bff22;border:1px solid #b57bff;padding:12px;border-radius:4px;">5</div>
  <div style="background:#3fd0c922;border:1px solid #3fd0c9;padding:12px;border-radius:4px;">6</div>
</div>

row-gap e column-gap

Imposti separatamente i gap delle righe e delle colonne:

<div class="grid" style="display:grid;grid-template-columns:repeat(3, 1fr);">
  <div style="background:#4f8cff22;border:1px solid #4f8cff;padding:12px;border-radius:4px;">1</div>
  <div style="background:#ffb84d22;border:1px solid #ffb84d;padding:12px;border-radius:4px;">2</div>
  <div style="background:#7ee78722;border:1px solid #7ee787;padding:12px;border-radius:4px;">3</div>
  <div style="background:#ff6b6b22;border:1px solid #ff6b6b;padding:12px;border-radius:4px;">4</div>
  <div style="background:#b57bff22;border:1px solid #b57bff;padding:12px;border-radius:4px;">5</div>
  <div style="background:#3fd0c922;border:1px solid #3fd0c9;padding:12px;border-radius:4px;">6</div>
</div>

Numeri delle linee della griglia

CSS Grid numera le proprie linee a partire da 1. Una griglia a 3 colonne ha le linee delle colonne 1, 2, 3, 4. I numeri negativi si contano dalla fine: -1 è l'ultima linea, -2 è la penultima.

grid-column e grid-row

Posizioni manualmente gli elementi utilizzando i numeri delle linee con grid-column e grid-row:

<div style="display:grid;grid-template-columns:repeat(3, 1fr);grid-auto-rows:60px;gap:8px;">
  <div class="header" style="background:#4f8cff22;border:1px solid #4f8cff;padding:8px;">Header (spans all 3 columns, row 1)</div>
  <div class="main" style="background:#ffb84d22;border:1px solid #ffb84d;padding:8px;">Main (spans 2 columns, row 2)</div>
</div>

La parola chiave span

Utilizzi span per indicare quante tracce deve coprire un elemento invece di usare numeri di linea assoluti:

<div style="display:grid;grid-template-columns:repeat(4, 60px);grid-auto-rows:60px;gap:8px;">
  <div style="background:#ffb84d22;border:1px solid #ffb84d;"></div>
  <div class="featured" style="background:#4f8cff22;border:1px solid #4f8cff;padding:4px;">Featured (span 2x2)</div>
  <div style="background:#ffb84d22;border:1px solid #ffb84d;"></div>
  <div style="background:#ffb84d22;border:1px solid #ffb84d;"></div>
</div>

Numeri di linea negativi

Gli indici negativi si contano dalla fine. 1 / -1 copre sempre l'intera larghezza della griglia, indipendentemente dal numero di colonne:

<div style="display:grid;grid-template-columns:repeat(3, 1fr);gap:8px;">
  <div class="full-width" style="background:#4f8cff22;border:1px solid #4f8cff;padding:8px;">Full width (grid-column: 1 / -1)</div>
  <div style="background:#ffb84d22;border:1px solid #ffb84d;padding:8px;">Item</div>
  <div style="background:#7ee78722;border:1px solid #34c759;padding:8px;">Item</div>
</div>

Abbreviazione grid-area

grid-area imposta in un'unica proprietà tutti e quattro i valori di posizionamento della griglia: row-start / column-start / row-end / column-end.

<div style="display:grid;grid-template-columns:repeat(3, 1fr);grid-auto-rows:60px;gap:0;">
  <div class="hero" style="background:#4f8cff22;border:1px solid #4f8cff;padding:8px;">Hero (row 1 start, col 1 start, row 2 end, last column)</div>
  <div style="background:#ffb84d22;border:1px solid #ffb84d;"></div>
  <div style="background:#ffb84d22;border:1px solid #ffb84d;"></div>
  <div style="background:#ffb84d22;border:1px solid #ffb84d;"></div>
</div>

Posizionamento automatico

Gli elementi non posizionati esplicitamente vengono collocati automaticamente nella cella disponibile successiva, seguendo l'algoritmo grid-auto-flow. Per impostazione predefinita, il browser riempie le celle da sinistra a destra e dall'alto verso il basso.

justify-items e align-items in Grid

In un contenitore grid, justify-items allinea orizzontalmente il contenuto delle celle; align-items lo allinea verticalmente. Entrambi hanno stretch come valore predefinito.

<div class="grid" style="min-height:120px;">
  <div style="background:#4f8cff22;border:1px solid #4f8cff;padding:8px;width:fit-content;">centered, top-aligned item</div>
</div>

justify-self e align-self

I singoli elementi della griglia possono sostituire l'allineamento del contenitore utilizzando justify-self e align-self:

<div style="display:grid;grid-template-columns:1fr;min-height:120px;">
  <div class="featured-card" style="background:#4f8cff22;border:1px solid #4f8cff;padding:8px;">Stretched horizontally, centered vertically</div>
</div>

Elementi sovrapposti della griglia

Più elementi possono occupare la stessa cella della griglia. Utilizzi z-index per controllare quale elemento appare in primo piano. Questo consente di creare design a livelli, ad esempio testo sovrapposto a un'immagine.

<div style="display:grid;grid-template-columns:repeat(2, 1fr);grid-template-rows:repeat(2, 60px);">
  <div class="image" style="background:#4f8cff44;border:1px solid #4f8cff;">Image layer</div>
  <div class="caption" style="background:rgba(0,0,0,0.6);color:#fff;align-self:end;padding:4px 8px;">Caption overlay</div>
</div>

Verifica rapida

Un elemento ha grid-column: 2 / span 3. Quali colonne occupa in una griglia a 5 colonne?

Riepilogo

gap aggiunge spazi tra le celle della griglia. Gli elementi vengono posizionati utilizzando i numeri delle linee con grid-column e grid-row. La parola chiave span specifica quante tracce coprire. Utilizzi 1 / -1 per coprire sempre tutte le colonne. Gli elementi della griglia possono sovrapporsi utilizzando z-index.

Domande Frequenti

La lezione «Gap e posizionamento nella griglia» è gratuita?

Sì — il testo completo di «Gap e posizionamento nella griglia» è 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 CSS Academy, passa a CoddyKit PRO. Il corso CSS Academy include 4 lezioni in totale.

Cosa imparerò in «Gap e posizionamento nella griglia»?

Aggiungete spazio tra le celle della griglia con gap e posizionate gli elementi utilizzando grid-column e grid-row. Eserciti CSS 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 CSS Academy?

Non è richiesta alcuna esperienza precedente. CSS 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 3 di 4.

Quanto tempo richiede la lezione «Gap e posizionamento nella griglia»?

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 CSS Academy?

Sì. Ogni lezione CSS 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. Display grid e colonne e righe del template
  2. L'unità fr e repeat
  3. Gap e posizionamento nella griglia
  4. Aree del template della griglia
← Torna a CSS Academy