跳到主要内容

Grid栅格

等宽栅格。两种用法:按断点指定列数(columns),或者只说每项最小多宽、让它自己决定放几列(minItemWidth)。后者不依赖视口断点,放进任何宽度的容器里都成立。

示例

响应式列数

拖动浏览器宽度看列数变化。

1
2
3
4
5
6
7
8

minItemWidth 自动填充

给了 minItemWidth 就忽略 columns。拖动滑块改变最小宽度。

1
2
3
4
5
6

跨列

普通单元格不用包;需要跨列、跨行的用 GridItem。

窄屏整行,md 起跨 2 列
A
B
span="full":始终整行

API

Grid 属性

属性类型默认值说明
asElementType'div'渲染成哪个元素。
columnsResponsive<number>1列数,等宽。
minItemWidthnumber | string—每项的最小宽度(数字按 px)。给了它就改为自动填充,忽略 columns。
gapResponsive<Space>4行列间距。
rowGapResponsive<Space>—行距,默认同 gap。
alignResponsive<'start' | 'center' | 'end' | 'stretch' | 'baseline'>'stretch'单元格内纵向对齐。
justifyResponsive<'start' | 'center' | 'end' | 'stretch'>'stretch'单元格内横向对齐。
paddingResponsive<Space>—四边内边距(间距档位)。
paddingXResponsive<Space>—左右内边距,优先于 padding。
paddingYResponsive<Space>—上下内边距,优先于 padding。
…restHTMLAttributes—ref、className、style 和其余原生属性透传到根节点。

GridItem 属性

属性类型默认值说明
asElementType'div'渲染成哪个元素。
spanResponsive<number | 'full'>—横跨几列;full 为整行。
rowSpannumber—纵跨几行。
…restHTMLAttributes—ref、className、style 和其余原生属性透传到根节点。

Space 是间距档位:0 | 1 | 2 | 3 | 4 | 5 | 6 | 8 | 10 | 12 | 16,对应 --ok-s-*(档位 × 4px)。列用的是 minmax(0, 1fr),内容再长也不会把列撑宽。