📄 radixui/themes/docs/components/grid

File: grid.md | Updated: 11/15/2025

Source: https://www.radix-ui.com/themes/docs/components/grid

Radix Homepage

Made by WorkOS

Radix Homepage

Made by WorkOS

ThemesThemes PrimitivesPrimitives IconsIcons ColorsColors

Documentation Playground Blog

Overview

Getting started Styling Layout Releases Resources

Theme

Overview Color Dark mode Typography Spacing Breakpoints Radius Shadows Cursors

Layout

Box Flex Grid Container Section

Typography

Text Heading Blockquote Code Em Kbd Link Quote Strong

Components

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

Utilities

Accessible Icon Portal Reset Slot Theme Visually Hidden

Components

Grid

Component for creating grid layouts.

View source Report an issue

<Grid columns="3" gap="3" rows="repeat(2, 64px)" width="auto">
	<DecorativeBox />
	<DecorativeBox />
	<DecorativeBox />
	<DecorativeBox />
	<DecorativeBox />
	<DecorativeBox />
</Grid>

API Reference


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 |

Examples


Responsive

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

Edit this page on GitHub.