使用高级 Chakra UI 组件更快地构建 💎

了解更多
跳到内容
文档在线示例指南博客
赞助

Flex 和 Grid

用于控制 Flex 和 Grid 布局的 JSX 样式属性

Flex Basis

使用flexBasis 属性来设置弹性项目的初始主尺寸。

<Flex>
  <Box flexBasis="25%" />
  <Box flexBasis="25%" />
  <Box flexBasis="50%" />
</Flex>
属性CSS 属性令牌类别
flexBasisflex-basis-

Flex 方向

使用 flexDirflexDirection 属性来设置弹性容器中主轴的方向。

<Box display="flex" flexDirection="column">
  <Box>Item 1</Box>
  <Box>Item 2</Box>
  <Box>Item 3</Box>
</Box>

当使用 Flex 组件时,direction 属性是 flexDirection 的别名。

<Flex direction="column">
  <Box>Item 1</Box>
  <Box>Item 2</Box>
  <Box>Item 3</Box>
</Flex>
属性CSS 属性令牌类别
flexDir, flexDirectionflex-direction-

Flex 换行

使用 flexWrap 属性来设置弹性项目是强制单行显示还是可以多行换行。

<Box display="flex" flexWrap="wrap">
  <Box>Item 1</Box>
  <Box>Item 2</Box>
  <Box>Item 3</Box>
</Box>

当使用 Flex 组件时,wrap 属性是 flexWrap 的别名。

<Flex wrap="wrap">
  <Box>Item 1</Box>
  <Box>Item 2</Box>
  <Box>Item 3</Box>
</Flex>
属性CSS 属性令牌类别
flexWrapflex-wrap-

Flex

使用 flex 属性来定义弹性容器或项目的灵活性。

<Flex>
  <Box flex="1" />
  <Box />
</Flex>
属性CSS 属性令牌类别
flexflex-

Flex 增长

使用 flexGrow 属性来设置弹性项目的弹性增长因子。

<Flex>
  <Box flexGrow="0" />
  <Box flexGrow="1" />
</Flex>
属性CSS 属性令牌类别
flexGrowflex-grow-

Flex 收缩

使用 flexShrink 属性来设置弹性项目的弹性收缩因子。

<Flex>
  <Box flexShrink="0" />
  <Box flexShrink="1" />
</Flex>
属性CSS 属性令牌类别
flexShrinkflex-shrink-

顺序

使用 order 属性来设置弹性项目的顺序。

<Flex>
  <Box order="0" />
  <Box order="1" />
</Flex>
属性CSS 属性令牌类别
orderorder-

间隙

使用 gap 属性来设置弹性或网格容器中项目之间的间隙。

<Flex gap="4">
  <Box>Item 1</Box>
  <Box>Item 2</Box>
  <Box>Item 3</Box>
</Flex>
属性CSS 属性令牌类别
gapgap间距

网格模板列

使用 gridTemplateColumns 属性来定义网格容器的列。

<Box display="grid" gridTemplateColumns="repeat(3, minmax(0, 1fr))">
  <Box>Item 1</Box>
  <Box>Item 2</Box>
  <Box>Item 3</Box>
</Box>

当使用 Grid 组件时,templateColumns 属性是 gridTemplateColumns 的别名。

<Grid templateColumns="repeat(3, minmax(0, 1fr))">
  <Box>Item 1</Box>
  <Box>Item 2</Box>
  <Box>Item 3</Box>
</Grid>

网格模板开始/结束

使用 gridTemplateStartgridTemplateEnd 属性来定义网格容器的开始和结束。

<Box display="grid" gridTemplateColumns="repeat(3, minmax(0, 1fr))">
  <Box>Item 1</Box>
  <Box gridColumn="span 2 / span 2">Item 2</Box>
  <Box>Item 3</Box>
</Box>
属性CSS 属性令牌类别
gridTemplateStartgrid-template-start-
gridTemplateEndgrid-template-end-

网格模板行

使用 gridTemplateRows 属性来定义网格容器的行。

<Box display="grid" gap="4" gridTemplateRows="repeat(3, minmax(0, 1fr))">
  <Box>Item 1</Box>
  <Box>Item 2</Box>
  <Box>Item 3</Box>
</Box>
属性CSS 属性令牌类别
gridTemplateRowsgrid-template-rows-

网格行开始/结束

使用 gridRowStartgridRowEnd 属性来定义网格项目的开始和结束。

<Box display="grid" gap="4" gridTemplateRows="repeat(3, minmax(0, 1fr))">
  <Box gridRowStart="1" gridRowEnd="3">
    Item 1
  </Box>
  <Box>Item 2</Box>
  <Box>Item 3</Box>
</Box>
属性CSS 属性令牌类别
gridRowStartgrid-row-start-
gridRowEndgrid-row-end-

网格自动流

使用 gridAutoFlow 属性来定义自动放置的项目如何流入网格。

<Box display="grid" gridAutoFlow="row">
  <Box>Item 1</Box>
  <Box>Item 2</Box>
  <Box>Item 3</Box>
</Box>
属性CSS 属性令牌类别
gridAutoFlowgrid-auto-flow-

网格自动列

使用 gridAutoColumns 属性来指定未明确定义大小的网格列的大小。

<Box display="grid" gridAutoColumns="120px">
  <Box>Item 1</Box>
  <Box>Item 2</Box>
  <Box>Item 3</Box>
</Box>
属性CSS 属性令牌类别
gridAutoColumnsgrid-auto-columns-

网格自动行

使用 gridAutoRows 属性来指定未明确定义大小的网格行的大小。

<Box display="grid" gridTemplateRows="200px" gridAutoRows="120px">
  <Box>Item 1</Box>
  <Box>Item 2</Box>
  <Box>Item 3</Box>
</Box>
属性CSS 属性令牌类别
gridAutoRowsgrid-auto-rows-

内容对齐

使用 justifyContent 属性来沿弹性容器的主轴对齐项目。

<Box display="flex" justifyContent="center">
  <Box>Item 1</Box>
  <Box>Item 2</Box>
  <Box>Item 3</Box>
</Box>

当使用 Flex 组件时,justify 属性是 justifyContent 的别名。

<Flex justify="center">
  <Box>Item 1</Box>
  <Box>Item 2</Box>
  <Box>Item 3</Box>
</Flex>
属性CSS 属性令牌类别
justifyContentjustify-content-

项目对齐

使用 justifyItems 属性来控制网格项目在其范围内的对齐方式。

<Box display="grid" justifyItems="center">
  <Box>Item 1</Box>
  <Box>Item 2</Box>
  <Box>Item 3</Box>
</Box>
属性CSS 属性令牌类别
justifyItemsjustify-items-

内容对齐

使用 alignContent 属性在有额外空间时沿弹性容器的交叉轴对齐内容行。

<Box display="flex" alignContent="center">
  <Box>Item 1</Box>
  <Box>Item 2</Box>
  <Box>Item 3</Box>
</Box>

当使用 Flex 组件时,align 属性是 alignContent 的别名。

<Flex align="center">
  <Box>Item 1</Box>
  <Box>Item 2</Box>
  <Box>Item 3</Box>
</Flex>
属性CSS 属性令牌类别
alignContentalign-content-

项目对齐

使用 alignItems 属性来控制网格项目在其范围内的对齐方式。

<Box display="grid" alignItems="center">
  <Box>Item 1</Box>
  <Box>Item 2</Box>
  <Box>Item 3</Box>
</Box>

自身对齐

使用 alignSelf 属性来控制网格项目在其范围内的对齐方式。

<Box display="grid">
  <Box alignSelf="center">Item 1</Box>
  <Box>Item 2</Box>
  <Box>Item 3</Box>
</Box>
属性CSS 属性令牌类别
alignSelfalign-self-

放置内容

使用 placeContent 属性同时沿块级和行内方向对齐内容。它的作用类似于 justifyContentalignContent 的组合,可用于弹性容器和网格容器。

<Flex placeContent="center">
  <Box>Item 1</Box>
  <Box>Item 2</Box>
  <Box>Item 3</Box>
</Flex>
属性CSS 属性令牌类别
placeContentplace-content-

放置项目

使用 placeItems 属性同时沿块级和行内方向对齐项目。它的作用类似于 justifyItemsalignItems 的组合,可用于弹性容器和网格容器。

<Box display="grid" placeItems="center">
  <Box>Item 1</Box>
  <Box>Item 2</Box>
  <Box>Item 3</Box>
</Box>
属性CSS 属性令牌类别
placeItemsplace-items-

放置自身

使用 placeSelf 属性同时沿块级和行内方向对齐网格项目。

<Box display="grid">
  <Box placeSelf="center">Item 1</Box>
  <Box>Item 2</Box>
  <Box>Item 3</Box>
</Box>
属性CSS 属性令牌类别
placeSelfplace-self-

上一页

滤镜

下一页

交互