</>
linuxideas
< web/tutorial
$cat ~/articles/web/tutorial/css-grid-complete-guide.md

CSS Grid: A Complete Guide

Master CSS Grid layout with practical examples — from basic grids to complex responsive layouts.

K
Kartik Gupta
Author
April 10, 2026
Published
1 min read
Read time

Basic Grid

css
.container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}

This creates a 3-column grid with equal columns and 1rem gap.

Auto-fit vs Auto-fill

css
/* Expands to fill available space */
.grid-auto-fit {
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}

/* Maintains fixed sizes even with extra space */
.grid-auto-fill {
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
}

Named Areas

Grid areas make layouts declarative:

css
.layout {
  display: grid;
  grid-template-columns: 200px 1fr 200px;
  grid-template-areas:
    "header header header"
    "sidebar main aside"
    "footer footer footer";
}

.header { grid-area: header; }
.sidebar { grid-area: sidebar; }
.main { grid-area: main; }
.aside { grid-area: aside; }
.footer { grid-area: footer; }

Responsive Grids

With Grid, responsive layouts become trivial:

css
.gallery {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 1.5rem;
}

No media queries needed — the grid figures it out automatically.

When to Use Grid vs Flexbox

  • Grid: When you need two-dimensional control (rows AND columns)
  • Flexbox: When layout is essentially one-dimensional

Most layouts benefit from both — use them together.

$ share --article