Grid 栅格布局

二维栅格布局组件,基于行和列来定义区域块,用于快捷地创建稳健的纵横交错布局。

相较于 Row 和 Column 的栅格布局,尽管 Grid 和 Cell 可以更灵活地创建复杂布局,但其局限性在于无法在 Grid 组件下混合使用其他组件。

代码示例#

API#

Grid 属性#

名称类型说明默认值始于
align'top' | 'middle' | 'bottom' | 'stretch'垂直对齐方式'stretch'-
auto-columnsnumber | string | (number | string)[]设置栅格的自动行,同 grid-auto-columns,传入数字时以及数组中的数字元素默认单位为 fr'auto'-
auto-rowsnumber | string | (number | string)[]设置栅格的自动行,同 grid-auto-rows,传入数字时以及数组中的数字元素默认单位为 fr'auto'-
cell-flexboolean | { justify?: 'start' | 'end' | 'center' | 'space-around' | 'space-between', align?: 'top' | 'middle' | 'bottom' }设置其下的栅格是否为弹性布局,可以传入一个 { justify, align } 进行定制化false-
columnsnumber | string | (number | string)[]设置栅格的模版列,同 grid-template-columns,传入数字时将当作行数并使用 repeat 处理,数组中的数字元素默认单位为 fr24-
denseboolean设置是否开启密集模式,开启后将会尽可能的填充空白位置false-
gapnumber | number[]栅格间隔,可以传入 [horizontal,vertical] 的数组0-
justify'start' | 'end' | 'center' | 'space-around' | 'space-between' | 'space-evenly'水平排列方式,但通常栅格都会在水平方向占满容器以至该属性不会发挥作用,除非你手动为某一些列设置了固定的宽度'start'-
rowsnumber | string | (number | string)[]设置栅格的模版行,同 grid-template-rows,传入数字时将当作行数并使用 repeat 处理,数组中的数字元素默认单位为 fr'none'-
tagstring渲染的元素名称'div'-

Cell 属性#

名称类型说明默认值始于
bottomnumber | string设置栅格的下边界,传入数字时起始值为 0,应仅用 topbottomheight 中的两个属性来确定栅格的纵向属性''-
heightnumber设置栅格的高度占位,默认为占一行1-
leftnumber | string设置栅格的左边界,传入数字时起始值为 0'auto'-
lgnumber | { top?: number | string, left?: number | string, width?: number, height?: number, right?: number | string, bottom?: number | string }媒体查询 ≥992px 时,栅格的宽度占位,传入一个对象时可以细粒度设置其他属性null-
mdnumber | { top?: number | string, left?: number | string, width?: number, height?: number, right?: number | string, bottom?: number | string }媒体查询 ≥768px 时,栅格的宽度占位,传入一个对象时可以细粒度设置其他属性null-
rightnumber | string设置栅格的右边界,传入数字时起始值为 0,应仅用 leftrightwidth 中的两个属性来确定栅格的横向属性''-
smnumber | { top?: number | string, left?: number | string, width?: number, height?: number, right?: number | string, bottom?: number | string }媒体查询 ≥576px 时,栅格的宽度占位,传入一个对象时可以细粒度设置其他属性null-
tagstring渲染的元素名称'div'-
topnumber | string设置栅格的上边界,传入数字时起始值为 0'auto'-
use-flexboolean | { justify?: 'start' | 'end' | 'center' | 'space-around' | 'space-between', align?: 'top' | 'middle' | 'bottom' }设置栅格是否为弹性布局,同时在上层开启了 cell-flex 时,将优先栅格自身的弹性布局设置,显式地设置成 false 可以强制禁用弹性布局null-
widthnumber设置栅格的宽度占位,默认为占满一行,会根据上级 Grid 的 columns 有不一样的默认表现null-
xlnumber | { top?: number | string, left?: number | string, width?: number, height?: number, right?: number | string, bottom?: number | string }媒体查询 ≥1200px 时,栅格的宽度占位,传入一个对象时可以细粒度设置其他属性null-
xsnumber | { top?: number | string, left?: number | string, width?: number, height?: number, right?: number | string, bottom?: number | string }媒体查询 <576px 时,栅格的宽度占位,传入一个对象时可以细粒度设置其他属性null-
xxlnumber | { top?: number | string, left?: number | string, width?: number, height?: number, right?: number | string, bottom?: number | string }媒体查询 ≥1600px 时,栅格的宽度占位,传入一个对象时可以细粒度设置其他属性null-