Layout

Grid System

Grid structure and responsive layouts

Production

A flexible 12-column grid system built on Tailwind CSS grid utilities.

Grid Structure

PropertyValueTailwind
Columns12grid-cols-12
Gutter24pxgap-6
ContainerCenteredcontainer mx-auto px-6

Column Spans

SpanColumnsTailwindCommon Uses
Full12/12col-span-12-
Half6/12col-span-6-
Third4/12col-span-4-
Quarter3/12col-span-3-
Two Thirds8/12col-span-8-
Three Quarters9/12col-span-9-

Common Layouts

Content + Sidebar

<div class="grid grid-cols-12 gap-6">
  <main class="col-span-12 lg:col-span-8">Content</main>
  <aside class="col-span-12 lg:col-span-4">Sidebar</aside>
</div>

Three Columns

<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6">
  <div>Card 1</div>
  <div>Card 2</div>
  <div>Card 3</div>
</div>

Form Layout

<div class="grid grid-cols-12 gap-6">
  <label class="col-span-12 lg:col-span-3">Label</label>
  <input class="col-span-12 lg:col-span-6" />
  <span class="col-span-12 lg:col-span-3">Help text</span>
</div>

Container

Use the Tailwind container utility with responsive max-widths:

<!-- Basic centered container -->
<div class="container mx-auto px-6">Content</div>

<!-- With max-width constraint -->
<div class="mx-auto max-w-screen-xl px-6">Content</div>
BreakpointContainer MaxTailwind
sm (640px)640pxmax-w-screen-sm
md (768px)768pxmax-w-screen-md
lg (1024px)1024pxmax-w-screen-lg
xl (1280px)1280pxmax-w-screen-xl
2xl (1536px)1536pxmax-w-screen-2xl

Best Practices

  1. Start mobile-first: Design for small screens, then expand with sm:, md:, lg: prefixes
  2. Use consistent gutters: Stick to gap-6 as the default grid gap
  3. Align to grid: Content should align to column edges
  4. Allow breathing room: Don't fill every column; use white space
  5. Test breakpoints: Ensure layouts work at all breakpoint boundaries