Grid

Native Solid 2 fork. Original documentation and designs © WorkOS; historical posts retain their original context.

<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.

PropTypeDefault
as"div" | "span""div"
asChildboolean—
displayResponsive<"none" | "inline-grid" | "grid">—
areasResponsive<string>—
columnsResponsive<enum | string>—
rowsResponsive<enum | string>—
flowResponsive<enum>—
alignResponsive<enum>—
justifyResponsive<"start" | "center" | "end" | "between">—
alignContentResponsive<enum>—
justifyItemsResponsive<enum>—
gapResponsive<enum | string>—
gapXResponsive<enum | string>—
gapYResponsive<enum | string>—

The following props are shared between Box, Flex, Grid, Container and Section components. Read more about layout components in Layout.

PropTypeDefault
pResponsive<enum | string>—
pxResponsive<enum | string>—
pyResponsive<enum | string>—
ptResponsive<enum | string>—
prResponsive<enum | string>—
pbResponsive<enum | string>—
plResponsive<enum | string>—
widthResponsive<string>—
minWidthResponsive<string>—
maxWidthResponsive<string>—
heightResponsive<string>—
minHeightResponsive<string>—
maxHeightResponsive<string>—
positionResponsive<enum>—
insetResponsive<enum | string>—
topResponsive<enum | string>—
rightResponsive<enum | string>—
bottomResponsive<enum | string>—
leftResponsive<enum | string>—
overflowResponsive<enum>—
overflowXResponsive<enum>—
overflowYResponsive<enum>—
flexBasisResponsive<string>—
flexShrinkResponsive<enum | string>—
flexGrowResponsive<enum | string>—
gridAreaResponsive<string>—
gridColumnResponsive<string>—
gridColumnStartResponsive<string>—
gridColumnEndResponsive<string>—
gridRowResponsive<string>—
gridRowStartResponsive<string>—
gridRowEndResponsive<string>—
alignSelfResponsive<enum>—
justifySelfResponsive<enum>—

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>