Cheatsheets/CSS Flexbox & Grid
Web

CSS Flexbox & Grid

The two layout systems, side by side.

Flex container

.container {
  display: flex;
  flex-direction: row;      /* | column */
  justify-content: center;  /* main axis */
  align-items: center;      /* cross axis */
  gap: 1rem;
  flex-wrap: wrap;
}

justify-content

flex-startPack to start
centerCenter items
space-betweenEnds flush, gaps even
space-aroundEqual space around
space-evenlyEqual space between

Flex item

flex: 1Grow to fill
flex-grow: 2Grow ratio
flex-shrink: 0Don't shrink
flex-basis: 200pxBase size
align-self: endOverride align
order: -1Reorder visually

Grid container

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

/* responsive auto-fit */
grid-template-columns:
  repeat(auto-fit, minmax(200px, 1fr));

Grid placement

grid-column: 1 / 3Span columns 1–2
grid-row: 1 / -1Span all rows
grid-column: span 2Span 2 columns
place-items: centerCenter both axes

Centering (the classic)

/* fl: any element */
.parent {
  display: grid;
  place-items: center;
  min-height: 100vh;
}