Grid 组件实现了栅格布局,类似于Bootstrap中栅格布局系统. 默认分为12列
Grid 的gutter属性控制着各行/各列之间的间隙. gutter属性同样支持响应式值
Grid 的grow属性控制着如果行没有被完全分配给列, 是否将剩余空间均分给各列.
一旦列的span 和 offset的值加起来超出了 Grid 的columns属性 (默认为 12), 列会被移动到下一行.
Grid.Col的span属性控制着列宽占行宽的份数. 因此span属性值可以是 1 至 12 之间的任意值
比如:
<Grid.Col span={3} />
3 / 12 = 25% 行宽
<Grid.Col span={4} />
4 / 12 = 33% 行宽
<Grid.Col span={6} />
6 / 12 = 50% 行宽
<Grid.Col span={12} />
12 / 12 = 100% 行宽
列的 span 属性值为"auto"时, 该列会增长直到充满行.
Grid 的offset属性控制着列的偏移, 取值和span相同.
Grid 的gutter属性以及 Column 的span,offset,order属性支持响应式.
| 断点 | 最小宽度 | css 属性 |
|---|---|---|
| sm | 640px | @media (min-width: 640px) { ... } |
| md | 768px | @media (min-width: 768px) { ... } |
| lg | 1024px | @media (min-width: 1024px) { ... } |
| xl | 1280px | @media (min-width: 1280px) { ... } |
| 2xl | 1536px | @media (min-width: 1536px) { ... } |
比如span={{ base: 12, md: 6, lg: 3 }}:
改变浏览器窗口的大小查看下面例子中列变化:
改变浏览器窗口的大小查看下面例子中列间隙大小变化:
| 属性名 | 类型 | 是否必须 | 默认值 | 说明 |
|---|---|---|---|---|
| align | AlignItems | undefined | no | stretch | 设置 <code>align-items</code> css规则 |
| children | ReactElement<GridColProps, ForwardRefExoticComponent<GridColProps & RefAttributes<HTMLDivElement>>>[] | undefined | no | 孩子必须是Col组件 | |
| columns | number | undefined | no | 12 | 总共列数 |
| grow | boolean | undefined | no | false | 最后一行中的列是否填充所有剩余空间. |
| gutter | ResponsiveProp<string> | undefined | no | 4px | 设置 <code>gap</code> css规则 |
| justify | JustifyContent | undefined | no | flex-start | 设置 <code>justify-content</code> css规则 |