Usage
<Columns> wraps any children in a responsive grid. Use it for side-by-side prose, image+text combinations, or comparison blocks where you don't want the visual treatment of <CardGroup>.
<Columns cols={2}>
<div>
**Before:** Manual MDX authoring with no validation.
Authors had to remember every component name and prop.
</div>
<div>
**After:** LLM-first authoring with the MCP server.
Claude/Cursor know every component natively.
</div>
</Columns>Before: Manual MDX authoring with no validation. Authors had to remember every component name and prop.
After: LLM-first authoring with the MCP server. Claude/Cursor know every component natively.
3 columns
<Columns cols={3}>
<div>
**Free**: 1 project, basic theme
</div>
<div>
**Pro**: Unlimited projects, AI search
</div>
<div>
**Business**: Audit log, SSO, priority support
</div>
</Columns>Free: 1 project, basic theme
Pro: Unlimited projects, AI search
Business: Audit log, SSO, priority support
Responsive behavior
Columns collapse to a single column on mobile. The breakpoint depends on cols:
cols={2}→ 1 column < 640px (sm), 2 columns ≥ 640pxcols={3}→ 1 column < 640px, 2 columns 640–1024px, 3 columns ≥ 1024px (lg)cols={4}→ same as cols=3 but 4 columns ≥ 1024px
Differences from CardGroup
<Columns> | <CardGroup> | |
| Wraps children in a Card? | No, children render as-is | Yes, expects <Card> children |
| Use case | Arbitrary side-by-side content | Card-style nav grids |
| Visual treatment | None (transparent) | Bordered cards |
Props
| Prop | Type | Default | Description |
cols | 2 | 3 | 4 | 2 | Number of columns on desktop |
children | ReactNode | required | Column children — anything |