n-col 栅格列
24 分栏布局的列容器,配合 n-row 使用:span 声明占几栏、offset 声明左侧空几栏、push/pull 视觉换位、xs/sm/md/lg/xl 断点响应。完整配对教程(间距机制、嵌套栅格、示例代码、参考机制对照表)见 n-row 的 readme。
- 列宽 = span / 24,行内百分比计算(全端可靠,不依赖宽度类表);越界值不校验(span 25 → 列宽 104%),显式行为优于静默钳制
- 父 n-row 的 gutter / gutterY 经 CSS 变量 --n-row-gutter / --n-row-gutter-y 沿 DOM 树下发,本组件以内边距消费(行显式归零变量阻断外层继承,嵌套行互不干扰);独立使用(不在 n-row 内)时内边距兜底 0,等价普通块容器
- 断点(xs/sm/md/lg/xl)由本组件读窗口宽度自行分档(媒体查询在 App 端不可用,JS 驱动替代):xs<768 / sm≥768 / md≥992 / lg≥1200 / xl≥1920,未设档逐级回退到 span,窗口变化(旋转屏幕、Web 拖宽)自动重算;断点只覆盖 span,offset/push/pull 各档一致
- push/pull 相对定位平移:占位不变,可与相邻列视觉换位
- 全端 box-sizing: border-box(uni-app x 统一重置):内边距计入列宽,列内容不会被挤换行
平台兼容性
| App | H5 | 微信小程序 | 支付宝小程序 | 百度小程序 | 头条小程序 | QQ小程序 |
|---|---|---|---|---|---|---|
| √ | √ | √ | × | × | × | × |
API
属性
| 参数 | 说明 | 类型 | 默认值 | 可选值 |
|---|---|---|---|---|
| span | 栅格占据的栏数(24 = 整行;被当前生效的断点属性覆盖;同行总和超过 24 时由父行 wrap 决定换行或裁切) | Number | 24 | 1 - 24 |
| offset | 栅格左侧空出的栏数(不等距排布、行内右移;不分断点,各档一致) | Number | 0 | 0 - 24 |
| push | 向右平移的栏数(相对定位,占位不变,可与相邻列视觉换位) | Number | 0 | 0 - 24 |
| pull | 向左平移的栏数(相对定位,占位不变,可与相邻列视觉换位) | Number | 0 | 0 - 24 |
| xs | 窗口宽 <768px 时占据的栏数(0 = 不设,回退 span) | Number | 0 | 0 - 24 |
| sm | 窗口宽 ≥768px 时占据的栏数(0 = 不设,回退 xs,再回退 span) | Number | 0 | 0 - 24 |
| md | 窗口宽 ≥992px 时占据的栏数(0 = 不设,回退 sm,逐级回退到 span) | Number | 0 | 0 - 24 |
| lg | 窗口宽 ≥1200px 时占据的栏数(0 = 不设,回退 md,逐级回退到 span) | Number | 0 | 0 - 24 |
| xl | 窗口宽 ≥1920px 时占据的栏数(0 = 不设,回退 lg,逐级回退到 span;Web 端大屏) | Number | 0 | 0 - 24 |
| custom-class | 根节点自定义类(类需定义在组件样式表内) | String | "" | - |
| custom-style | 根节点行内样式 | String | "" | 与 css 相同 |
事件
| 事件名 | 说明 |
|---|---|
| click | 点击列时触发(事件会继续冒泡到父 n-row 的 click) |
插槽
| 插槽名 | 说明 |
|---|---|
| default | 列内容(沿列纵向排布) |