Grid
Grid is a component for managing grid layouts. It also comes with handy style shorthand.
<Grid gap="md" templateColumns="repeat(4, 1fr)">
<For each={Array.from({ length: 4 })}>
{(_, index) => (
<GridItem
key={index}
bg="bg.contrast"
color="fg.contrast"
minH="16"
h="full"
/>
)}
</For>
</Grid>
Usage
import { Grid, GridItem } from "@yamada-ui/react"
import { Grid, GridItem } from "@/components/ui"
import { Grid, GridItem } from "@workspaces/ui"
<Grid>
<GridItem />
</Grid>
Use Template Areas
<Grid
templateAreas={`
"one one two three"
"four five two six"
"four seven seven eight"
`}
gap="md"
>
<For each={["one", "two", "three", "four", "five", "six", "seven", "eight"]}>
{(area, index) => (
<GridItem
key={index}
bg="bg.contrast"
color="fg.contrast"
minH="16"
h="full"
area={area}
/>
)}
</For>
</Grid>
Spanning Multiple Columns and Rows
<Grid gap="md" templateColumns="repeat(4, 1fr)" templateRows="repeat(3, 1fr)">
<GridItem
bg="bg.contrast"
color="fg.contrast"
minH="16"
h="full"
colSpan={2}
/>
<GridItem
bg="bg.contrast"
color="fg.contrast"
minH="16"
h="full"
colSpan={2}
rowSpan={3}
/>
<GridItem
bg="bg.contrast"
color="fg.contrast"
minH="16"
h="full"
rowStart={2}
rowEnd={4}
/>
<GridItem
bg="bg.contrast"
color="fg.contrast"
minH="16"
h="full"
colStart={2}
colEnd={3}
rowStart={2}
rowEnd={4}
/>
</Grid>
Props
Similar Components
ZStack
ZStack is used to stack child elements in depth.
VStack
VStack is used to stack child elements vertically.
Wrap
Wrap is a component that has wrap set on Flex. It inherits convenient style shorthand from Flex.
Stack
Stack is a component that groups elements and provides spacing between child elements.
Spacer
Spacer is a component used to add space between elements.
SimpleGrid
SimpleGrid is a component that makes Grid simpler and more user-friendly.
Separator
Separator is a component that represents a division between elements.
Group
Group is a component that groups and attaches multiple elements together.