File: grid.md | Updated: 11/15/2025
ThemesThemes PrimitivesPrimitives IconsIcons ColorsColors
Getting started Styling Layout Releases Resources
Overview Color Dark mode Typography Spacing Breakpoints Radius Shadows Cursors
Box Flex Grid Container Section
Text Heading Blockquote Code Em Kbd Link Quote Strong
Alert Dialog Aspect Ratio Avatar Badge Button Callout Card Checkbox Checkbox Group Checkbox Cards Context Menu Data List Dialog Dropdown Menu Hover Card Icon Button Inset Popover Progress Radio Radio Group Radio Cards Scroll Area Segmented Control Select Separator Skeleton Slider Spinner Switch Table Tabs Tab Nav Text Area Text Field Tooltip
Accessible Icon Portal Reset Slot Theme Visually Hidden
Components
Component for creating grid layouts.
<Grid columns="3" gap="3" rows="repeat(2, 64px)" width="auto">
<DecorativeBox />
<DecorativeBox />
<DecorativeBox />
<DecorativeBox />
<DecorativeBox />
<DecorativeBox />
</Grid>
This component is based on the div element and supports common margin props
.
Use these props to create grid layouts.
| Prop | Type | Default |
| --- | --- | --- |
| as<br><br>Prop description | "div" \| "span" | "div" |
| asChild<br><br>Prop description | boolean | No default value |
| display | Responsive<"none" \| "inline-grid" \| "grid"> | No default value |
| areas | Responsive<string> | No default value |
| columns | Responsive<enum \| string><br><br>See full type | No default value |
| rows | Responsive<enum \| string><br><br>See full type | No default value |
| flow | Responsive<enum><br><br>See full type | No default value |
| align | Responsive<enum><br><br>See full type | No default value |
| justify | Responsive<"start" \| "center" \| "end" \| "between"> | No default value |
| gap | Responsive<enum \| string><br><br>See full type | No default value |
| gapX | Responsive<enum \| string><br><br>See full type | No default value |
| gapY | Responsive<enum \| string><br><br>See full type | No default value |
The following props are shared between Box , Flex , Grid , Container and Section components. Read more about layout components in Layout .
| Prop | Type | Default |
| --- | --- | --- |
| p | Responsive<enum \| string><br><br>See full type | No default value |
| px | Responsive<enum \| string><br><br>See full type | No default value |
| py | Responsive<enum \| string><br><br>See full type | No default value |
| pt | Responsive<enum \| string><br><br>See full type | No default value |
| pr | Responsive<enum \| string><br><br>See full type | No default value |
| pb | Responsive<enum \| string><br><br>See full type | No default value |
| pl | Responsive<enum \| string><br><br>See full type | No default value |
| width | Responsive<string> | No default value |
| minWidth | Responsive<string> | No default value |
| maxWidth | Responsive<string> | No default value |
| height | Responsive<string> | No default value |
| minHeight | Responsive<string> | No default value |
| maxHeight | Responsive<string> | No default value |
| position | Responsive<enum><br><br>See full type | No default value |
| inset | Responsive<enum \| string><br><br>See full type | No default value |
| top | Responsive<enum \| string><br><br>See full type | No default value |
| right | Responsive<enum \| string><br><br>See full type | No default value |
| bottom | Responsive<enum \| string><br><br>See full type | No default value |
| left | Responsive<enum \| string><br><br>See full type | No default value |
| overflow | Responsive<enum><br><br>See full type | No default value |
| overflowX | Responsive<enum><br><br>See full type | No default value |
| overflowY | Responsive<enum><br><br>See full type | No default value |
| flexBasis | Responsive<string> | No default value |
| flexShrink | Responsive<enum \| string><br><br>See full type | No default value |
| flexGrow | Responsive<enum \| string><br><br>See full type | No default value |
| gridArea | Responsive<string> | No default value |
| gridColumn | Responsive<string> | No default value |
| gridColumnStart | Responsive<string> | No default value |
| gridColumnEnd | Responsive<string> | No default value |
| gridRow | Responsive<string> | No default value |
| gridRowStart | Responsive<string> | No default value |
| gridRowEnd | Responsive<string> | No default value |
All props marked Responsive, such as columns and rows accept a breakpoint object
. For example, the following grid starts with 1 column, and uses 2 columns from the medium breakpoint.
<Grid columns={{ initial: "1", md: "2" }} gap="3" width="auto">
<Box height="64px">
<DecorativeBox />
</Box>
<Box height="64px">
<DecorativeBox />
</Box>
</Grid>
PreviousFlex
NextContainer