12-column grid
Noun. A responsive web layout system that divides the container into twelve equal vertical tracks separated by consistent gutters. Layouts compose by spanning some number of columns: col-span-12 for full-width, col-span-8 + col-span-4 for main + sidebar, col-span-4 × 3 for a card row.
Origin
The 12-column grid as a web standard begins with Nathan Smith's 960 Grid System (2008): a 960px container, 12 columns × 60px each, 20px gutters. Bootstrap (originally Twitter Blueprint, 2011) made the 12-column responsive grid universal, and dozens of other frameworks (Foundation, Skeleton, Pure) followed. CSS Grid (shipped 2017) implemented the 12-column model natively via grid-template-columns: repeat(12, 1fr).
Why 12
12 is the smallest highly-composite number that divides cleanly into halves, thirds, quarters, sixths, and twelfths. Other counts (8, 16, 24) are used in specific systems but 12 became the web standard precisely because of this divisibility flexibility.
Standard breakpoints
Bootstrap defaults: 1200px (XL), 992px (LG), 768px (MD), 576px (SM). Tailwind: 640, 768, 1024, 1280, 1536. Below SM/640, content typically collapses to single-column.
Common 12-column patterns
The flexibility of 12-column lets designers express a small set of canonical layouts that account for the majority of web work. Full-width hero (span 12), two-column with weighted sides (span 8 + 4 for content + sidebar; span 4 + 8 reversed), even three-column (span 4 + 4 + 4), four-column card row (span 3 × 4), and centred narrow text block (span 8 with 2-column offset on each side). Each of these maps cleanly onto the 12-column structure because 12 divides evenly by 2, 3, 4, and 6.
Gutters and container widths
The standard 12-column setup includes a gutter (the space between adjacent columns) typically set at 16-32 px depending on the design system. Tighter gutters (16 px) feel denser and more editorial; wider gutters (32 px) feel airier and more modern. The container width — the maximum width the 12-column grid fills — is typically 1200 px for content-heavy sites and 1440 px for image-heavy ones. Outside these maximums, the grid stops growing and is centred in the viewport with marginal whitespace on either side.
