Grid
Gridは、グリッドレイアウトを管理するためのコンポーネントです。また、便利なスタイルのショートハンドが用意されています。
<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>
使い方
import { Grid, GridItem } from "@yamada-ui/react"
import { Grid, GridItem } from "@/components/ui"
import { Grid, GridItem } from "@workspaces/ui"
<Grid>
<GridItem />
</Grid>
templateAreasを使う
<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>
複数の列と行をまたがる
<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
類似のコンポーネント
ZStack
ZStackは、子要素を奥行き方向にスタックするために使用されます。
VStack
VStackは、子要素を垂直方向にスタックするために使用されます。
Wrap
Wrapは、Flexにwrapを設定したコンポーネントです。Flexから便利なスタイルのショートハンドを継承しています。
Stack
Stackは、要素をグループ化し、子要素間にスペースを設けるコンポーネントです。
Spacer
Spacerは、要素間に空間を追加するために使用するコンポーネントです。
SimpleGrid
SimpleGridは、Gridをより使いやすくシンプルにしたコンポーネントです。
Separator
Separatorは、要素間において区切りを表すコンポーネントです。
Group
Groupは、複数の要素をまとめて扱うためのコンポーネントです。