CSS Grid Cheatsheet

Grid = 2-D layout. Rows and columns. Fractional units + auto-flow give most layouts for free.

1 credit

Container

7 items
Enable
display: grid / inline-grid
Define columns
grid-template-columns: 200px 1fr 1fr
Repeat
grid-template-columns: repeat(3, 1fr)
Auto-fit responsive
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr))
Rows
grid-template-rows: auto 1fr auto
Gaps
gap: 1rem row-gap: 1rem column-gap: 1rem
Named areas
grid-template-areas: "hd hd" "sb mn" "ft ft"

Item placement

4 items
Span cells
grid-column: span 2 (spans 2 columns)
Explicit start/end
grid-column: 2 / 4 / grid-row: 1 / -1
Named area
grid-area: header
Per-item align
justify-self / align-self: start | center | end | stretch

Patterns

css
/* Holy grail */
body {
  display: grid;
  grid-template: "hd hd hd" auto
                 "sb mn ad" 1fr
                 "ft ft ft" auto / 200px 1fr 200px;
  min-height: 100dvh;
}

/* Responsive card grid */
.grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }

Further reading