foundation

Grid

Build two-dimensional layouts with tracks, areas, auto-placement, minmax, fit-content, and alignment.

CSS Grid handles two-dimensional layout with explicit rows, columns, named areas, and auto-placement. Tracks can be fixed, flexible (`fr`), or intrinsic (`minmax`, `fit-content`).

					.card-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
}
.layout {
  display: grid;
  grid-template-areas:
    "header header"
    "nav main"
    "footer footer";
}
				

`auto-fit` collapses empty tracks; `auto-fill` keeps them. Grid is excellent for component internals (forms, dashboards) — not only full-page shells.

On interviews: compare Grid with Flexbox, explain track sizing, and build a responsive card grid without many breakpoints.

The trade-off is explicit track control versus intrinsic adaptability from minmax and fr units.

Common pitfalls: only pixel tracks destroy intrinsic responsiveness; ignoring `minmax(0, 1fr)` when content overflows tracks.

Checklist:

  • Use Grid when both axes matter.
  • Prefer intrinsic track sizing with minmax.
  • Name areas when layout regions are stable.
  • Let auto-placement reduce boilerplate.