Performance: Grid gap
Grid gap affects the layout calculation and paint phases by adding spacing between grid items without extra DOM elements.
Jump into concepts and practice - no test required
display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem;
display: grid; grid-template-columns: repeat(3, 1fr); /* Instead of gap, using margin on grid items */ .grid-item { margin-right: 1rem; margin-bottom: 1rem; }
| Pattern | DOM Operations | Reflows | Paint Cost | Verdict |
|---|---|---|---|---|
| Using margin on grid items for spacing | No extra nodes but margin affects layout | Multiple reflows per item | Higher paint cost due to layout thrashing | [X] Bad |
| Using grid gap property | No extra nodes, spacing handled by grid | Single reflow for grid container | Lower paint cost, stable layout | [OK] Good |
gap do in a grid layout?gapgap property is designed to add space between grid items easily.gap does not control.gap: 10px 20px; means 10px row gap and 20px column gap. .container {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 15px 30px;
} .grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 10px 20;
}