Skip to content

n-gap 间距块 ​

用于内容之间留白、带背景的区块分隔,以及包裹内容时的左右留白。无需 CSS gap,不自行固定位置。

实现说明 ​

参考机制 组件做法 融合说明
定高空白与三档尺寸 size 提供 small/default/large;height 可独立覆盖 默认高度为 4/8/12px,沿用库的 px 数字约定;显式 0 表示零高度
左右留白容器 默认插槽承载内容,gap 控制左右内边距 三档内边距为 8/12/16px;包裹内容时显式 height="auto",不增加另一套模式开关
上下外间距、背景和圆角 marginTop/marginBottom、bgColor、radius 背景支持实色与方向关键词渐变;默认透明,圆角同时裁剪内容
点击 点击根节点触发 click,无参数 插槽冒泡自然触发一次;业务按钮可自行阻止冒泡
背景更新 独立背景层,渐变值参与背景键 连续修改渐变可刷新背景,插槽实例不重建
根样式定制 customClass/customStyle 与主题令牌 几何由属性和尺寸令牌管理,外观样式不能覆盖高度、内边距、外边距、圆角或伸缩

基础用法 ​

vue
<n-gap />
<n-gap size="large" />
<n-gap :height="24" bg-color="#f2f3f5" />
<n-gap height="auto" :gap="16" :radius="8">
  <view style="height:48px"><text>两侧留白的内容</text></view>
</n-gap>

数字和数字字符串按 px;也支持 px/rpx 字符串。height 可传 auto;高度百分比需父容器有确定高度。height/gap 留空跟随 size,0 是有效覆盖。上下外间距允许负数,其余负值按 0;非有限数值或不支持的长度写法按 0 处理。组件不提供水平排列容器,不会替插槽设置项目间距。

属性 ​

属性 类型 默认值 说明
size NGapSize default small/default/large,控制默认高度及左右内边距
height NGapLength 空串 留空使用尺寸档位;auto 随内容;数字、px/rpx/%;0 不回退
gap NGapLength 空串 左右内边距;留空跟随档位;数字或 px/rpx
bgColor string 空串 实色或方向关键词渐变;空串透明
radius NGapLength 0 圆角;数字或 px/rpx,同时裁剪内容
marginTop NGapLength 0 上外间距;数字或 px/rpx,可负数
marginBottom NGapLength 0 下外间距;数字或 px/rpx,可负数
customClass string 空串 组件内定义的根节点类;提供 n-gap--muted 半透明类
customStyle string 空串 主题令牌、背景、颜色、透明度和阴影;几何请使用属性

事件 ​

事件 参数 说明
click 无 点击组件及未阻止冒泡的插槽内容时触发

插槽 ​

名称 参数 说明
default 无 包裹内容;通常配合 height="auto",定高模式超出的内容会被裁剪

样式 ​

尺寸令牌为 --n-gap-height-small/default/large 与 --n-gap-padding-small/default/large,默认分别为 4/8/12px 和 8/12/16px;显式 height/gap 优先。背景令牌为 --n-gap-background,默认透明;bgColor 显式值优先。编译期可在 uni.scss 覆盖对应 $n-gap-* 变量。

示例预览 ​

百分比配置使用 200px 高的父容器,复制页面保留同一容器。较大尺寸仅裁剪示例预览窗口,组件实际尺寸保持原值;窗口尺寸变化时预览范围同步更新。背景和自定义样式输入不限制长度。

平台兼容性 ​

本体功能、默认插槽与点击、示例属性联动和复制页面已复验;微信、Android 和 iOS 模拟器目标字节码编译通过。商业复核仍未通过:示例公共工作台选中态使用白字与品牌绿底,浅深主题文字对比均约为 2.54:1,低于本次 4.5:1 验收目标。完整明细见组件验收记录。设备运行与鸿蒙不计为已验证。

记录 · 思考 · 创作