Skip to main content
← 🎨 CSS as a design systemΒ·Module B3 Β· Lesson 9
TaskCenter an h1 inside a 200px-tall container. .hero: display: grid, place-items: center, min-height: 200px, background: #1e1e2e, color: white.

place-items: centering, shorthand

75 XP5 min
Theory

Grid's "align both axes" shortcut

.container {
  display: grid;
  place-items: center;       /* center each cell's content horizontally AND vertically */
}

place-items is shorthand for align-items (vertical) + justify-items (horizontal) inside grid cells.

Most-used pattern: dead-center

/* A perfectly centered element, no flex needed */
.center-everything {
  display: grid;
  place-items: center;
  min-height: 100vh;
}

One declaration. The child is centered both ways. Compare to the flexbox version (display: flex; align-items: center; justify-content: center) β€” equally good, just slightly shorter syntax with grid.

place-content vs place-items

  • place-items β€” how each cell's CHILD is aligned WITHIN its cell.
  • place-content β€” how the GRID itself is aligned within the container (matters when the grid is smaller than the container).

For a grid that fills its container (the common case), place-content doesn't matter.

Per-cell override: place-self

A single grid item can opt out:

.special { place-self: start end; }   /* top-right corner of its cell */
πŸ”’

Sign up to start coding

Theory is open to everyone. The interactive editor, live preview, and check are unlocked with a 7-day free trial β€” card required, cancel anytime.

Sign up β€” free trial β†’

First 10 lessons in each track are free. No card needed for those.

← PreviousNext lesson β†’

Get one Python or web tip a day β€” by email

Short, hand-written, no spam. Unsubscribe in one click.