Ce face gap (row-gap, column-gap)
gap a rezolvat definitiv problema istorică a spațierii. Înainte, trebuia să pui margin-right pe fiecare element și să o anulezi pe ultimul cu :last-child.
Cu gap, spațiul apare strict între elementele vecine, fără a lăsa spațiu inutil la marginea exterioară a containerului. Funcționează identic atât în Flexbox, cât și în CSS Grid.
Valori uzuale
| Valoare | Descriere |
|---|---|
dimensiune (px, rem) |
Mărimea spațiului dintre elemente. |
row-gap |
Distanța pe verticală dintre rânduri. |
column-gap |
Distanța pe orizontală dintre coloane. |
Exemple
Exemplul 1: Spațiere impecabilă a unei grile de carduri
gap pune spațiu doar între carduri, fără a ieși din marginea containerului.
.grila-carduri {
display: flex;
flex-wrap: wrap;
gap: 24px;
}
.card {
flex: 1 1 300px; /* ocupă cel puțin 300px */
}
Efect vizual în browser
Toate cardurile sunt despărțite printr-un spațiu aerisit de 24px, fără bătăi de cap cu margini pe ultimul element.
Greșeli frecvente
- Combinarea inutilă a lui gap cu margin pe elementele copil, ceea ce dublează spațiul dintre ele.
Comenzi înrudite
display: flex: Transformă elementul într-un container flexibil; toți copiii direcți devin elemente flex așezate automat în linie.flex-wrap: Controlează dacă elementele flex sunt forțate să stea pe o singură linie sau au voie să treacă pe rânduri noi.