The examples below demonstrate the CSS Grid based columns system: track widths, offsets, alignment, and per-breakpoint overrides.
When no "columns" value is set for a row, it auto-calculates: the track count is the number of columns at the widest breakpoint, then each narrower breakpoint steps down by a ratio (floored at 1). None of the rows below set a "columns" value - each is left entirely to the auto ladder.
Three columns (xl: 3, lg: 2, md: 1, sm: 1):
Column 1
Column 2
Column 3
Four columns (xl: 4, lg: 3, md: 2, sm: 1):
Column 1
Column 2
Column 3
Column 4
Six columns (xl: 6, lg: 4, md: 2, sm: 1):
Column 1
Column 2
Column 3
Column 4
Column 5
Column 6
Eight columns (xl: 8, lg: 5, md: 3, sm: 2):
Column 1
Column 2
Column 3
Column 4
Column 5
Column 6
Column 7
Column 8
Ten columns (xl: 10, lg: 7, md: 4, sm: 3):
Column 1
Column 2
Column 3
Column 4
Column 5
Column 6
Column 7
Column 8
Column 9
Column 10
Twelve columns (xl: 12, lg: 8, md: 4, sm: 3):
Column 1
Column 2
Column 3
Column 4
Column 5
Column 6
Column 7
Column 8
Column 9
Column 10
Column 11
Column 12
A 12 track row. The first column spans 6 tracks; the second spans 4 tracks but starts at track 8, leaving a 1 track offset between them.
Width: 6 of 12 tracks
Width: 4, Start: 8 (offset by 1 track)
The row is set to center-align its columns vertically. The third column overrides this and aligns itself to the end instead, regardless of the row default.
Short column
A taller column with more content, used to show the row's vertical alignment against its shorter siblings.
Align: End (overridden)
Column options set at a smaller breakpoint cascade up to larger ones unless overridden. Resize the browser to see each column change independently.
Order: -1 (first) on mobile ("sm"), Order: 1 (last) from "lg" up
Width: 4 of 4 (full) on mobile, Width: 2 of 4 (half) from "lg" up
No overrides - always inherits the row defaults