基本使用

# 基本使用

Grid 是一个基于 CSS Grid 布局封装的灵活网格组件,提供了丰富的布局功能和灵活的配置选项。它可以轻松创建响应式网格布局,支持自动填充、固定列数、区域命名等多种布局方式。

# 固定列数布局

columns 列数,columnGap 列间距,rowGap 行间距。

# 固定列数-列宽控制布局

通过设置 columns 属性来固定列数,并通过不同的 columnWidth 来控制布局:

  • 平均分配模式:所有列平均分配可用空间(默认), columnWidth="1fr"
  • 固定宽度模式:所有列使用固定宽度,columnWidth="200px"
  • 最小最大宽度约束模式:列宽在最小值和最大值之间自适应, columnWidth="{min: 100, max: 300}"
  • 独立列宽模式:每列可以独立设置不同的宽度, columnWidth="[120, 200, 180]"
  • 高级独立列宽模式:每列可以独立设置最小宽度和最大宽度, columnWidth="[{min: 100, max: 300}, {min: 150, max: 250}]"

# 自动填充模式

类 flex 布局,但是可以自动充满剩余空间。 autoFill 开启自动填充,columnWidth 设置每列最小宽度。

# 自定义单元格大小、位置

sc-cell 组件可以通过 widthSizeheightSizelefttop 属性精确控制单元格的大小和位置。

# 网格区域

Grid 组件支持通过 areas 属性定义命名的网格区域,配合 Cell 组件的 area 属性使用。网格区域是CSS Grid布局中的一个强大特性,允许您为网格的特定区域命名,然后将内容放置在这些命名区域中。

# API 文档

# Grid 属性

属性名 说明 类型 默认值
columns 列数 Number 1
autoFill 自动填充模式 Boolean / String false
columnWidth 设置列的基础宽度。支持多种形式:
- 字符串/数字:统一设置所有列宽度,如 "200px"
- 对象:设置最小最大宽度约束,如 {min: 100, max: 300}
- 数组:为每列独立设置宽度,如 [120, 200, 180]
- 数组(对象):高级独立列宽配置,如 [{min: 100, max: 300}, {width: 200}]
String / Number / Array / Object -
gap 网格间隙(同时设置行列间隙) String / Number -
columnGap 列间隙 String / Number -
rowGap 行间隙 String / Number -
areas 网格区域名称 String / Array -
minRowHeight 最小行高 String / Number 'auto'
maxRowHeight 最大行高 String / Number 'auto'
alignContent 垂直对齐方式 String -
rows 行数配置 Number / String -
justifyContent 水平对齐方式 String -
flow 网格流动方向 String -
height 容器高度 String / Number 'auto'
gridStyle 自定义网格样式 Object {}
fillCell 是否填充空白单元格 Boolean false

# Cell 属性

属性名 说明 类型 默认值
widthSize 单元格宽度(跨越的列数) Number / String 1
heightSize 单元格高度(跨越的行数) Number / String 1
area 网格区域名称 String -
center 是否居中显示内容 Boolean false
left 起始列位置 Number / String -
top 起始行位置 Number / String -
cellStyle 自定义单元格样式 Object {}