Files
wechat/.pai/skill-update/generate-mini-app/prompts/ui-ux-design-principles.md
T
2026-07-14 14:52:44 +08:00

7.8 KiB
Raw Blame History

<ui_ux_design_principles>

移动端小程序 UI/UX 设计核心原则

1. 配色系统(根据需求灵活选择)

  • 主色调:根据产品品牌定位选择
  • 背景色:页面背景、卡片背景
  • 文字色:例如(主要 #1D2129 / 次要 #4E5969 / 辅助 #86909C / 禁用 #C9CDD4
  • 边框色:定义边框色
  • 语义色:例如(成功 #00B42A / 警告 #FF7D00 / 错误 #F53F3F

配色技巧

  • 使用渐变提升视觉丰富度:`linear-gradient(135deg, $color-primary 0%, $color-primary-light 100%)`
  • 背景推荐使用浅色渐变营造氛围:`linear-gradient(180deg, #f0f5ff 0%, $color-bg-page 100%)`
  • 利用透明度制造层次:`rgba(255, 255, 255, 0.2)`

2. 屏幕适配与布局规范(强制约束)

  • 设计稿基准:750rpx = 屏幕宽度,所有尺寸基于此换算
  • 必须遵循 8px 网格系统:所有间距使用8的倍数(8rpx, 16rpx, 24rpx, 32rpx, 48rpx, 64rpx
  • 页面根容器必须设置左右边距`padding: 0 $page-padding`32rpx),确保内容居中且不超出屏幕
  • 禁止内容溢出屏幕
    • 所有固定宽度元素必须 `width: 100%` 或 `max-width: $max-content-width`686rpx
    • 任何元素的宽度不要超过 686rpx,否则会溢出屏幕
    • 水平滚动内容必须用 `ScrollView` 包裹
  • 卡片内边距:32rpx 或 48rpx(大卡片)
  • 列表项间距:16rpx 或 24rpx

布局技巧

  • 卡片间距保持24rpx,避免拥挤
  • 标题与内容间隄32rpx,增强层次
  • 按钮与说明文字间隄48rpx,突出行动召唤

3. 字体层级(参考规范,可根据视觉需求微调)

  • 大标题:40rpx, font-weight: 600
  • 标题:34rpx, font-weight: 600
  • 副标题:30rpx, font-weight: 500
  • 正文:28rpx, font-weight: 400
  • 辅助文字:24rpx
  • 小字/标签:22rpx

4. 圆角设计(符合主流小程序审美)

  • 卡片圆角12-16rpx(推荐 $radius-md 或 $radius-lg
  • 按钮圆角48rpx(推荐 $radius-button,全圆角胶囊形状,主流趋势)
  • 小元素圆角4-8rpx(标签、徽章)
  • 头像圆角999rpx(完全圆形,使用 $radius-round

按钮尺寸规范

  • 常规按钮:高度 80rpx$button-height-md+ 圆角 48rpx
  • 大按钮:高度 96rpx$button-height-lg+ 圆角 48rpx,用于底部固定操作栏
  • 小按钮:高度 64rpx$button-height-sm+ 圆角 32rpx,用于次要操作

主流设计趋势

  • 底部操作栏使用 96rpx 高度 + 48rpx 全圆角
  • 页面内操作按钮:80rpx 高度 + 48rpx 全圆角
  • 全圆角(圆角 = 高度的50%)形成“胶囊”形状,视觉柔和、现代

反例

  • ✖️ 按钮圆角过小(<24rpx):显得生硬,不符合主流审美
  • ✖️ 按钮高度过大(>100rpx):占用空间过多,显得笨重
  • ✖️ 按钮高度过小(<60rpx):不易点击,体验差

5. 卡片式设计(强烈推荐)

  • 背景白色 + 圆角 12-16rpx + 阴影
  • 阴影推荐:`box-shadow: 0 2rpx 12rpx rgba(0, 0, 0, 0.08)`(使用 $shadow-card
  • 卡片间距保持24rpx,避免拥挤
  • 卡片内边距:32rpx 或 48rpx

6. 阴影与层次(符合主流小程序审美)

  • 卡片阴影`0 2rpx 12rpx rgba(0, 0, 0, 0.08)`$shadow-card
  • 浮层阴影`0 4rpx 16rpx rgba(0, 0, 0, 0.1)`$shadow-float,用于筛选栏、底部操作栏)
  • 悬浮效果`0 4rpx 20rpx rgba(0, 0, 0, 0.12)`$shadow-card-hover
  • 弹窗阴影`0 8rpx 32rpx rgba(0, 0, 0, 0.15)`$shadow-popup

重要:按钮通常不使用阴影,主流小程序的按钮多为纯色或渐变,无阴影

7. 微交互动画(符合主流小程序审美)

  • 按钮点击反馈(推荐) ```scss transition: all $transition-base; &:active { opacity: 0.9; transform: scale(0.98); } ```

8. 视觉丰富度提升技巧(符合主流审美)

  • 渐变背景(推荐):页面背景可使用淡淡的渐变色
  • 投影效果(可选)logo/图标可添加 `filter: drop-shadow()`
  • 层次对比:卡片圆角小,按钮圆角适中,制造视觉对比
  • 空间感:善用 padding 和 margin 制造呼吸感

主流设计趋势

  • 卡片式布局 + 轻阴影是最常见的设计模式
  • 扁平化风格倾向于少阴影、纯色按钮
  • 动效保持简洁,避免过度设计

9. 防御性 UI 设计与边界处理(关键,防止布局崩坏)

为了确保在各种极端场景(长文本、窄屏幕、窄容器、图片)下 UI 依然优雅,必须遵守以下防御性规范:

文本内容保护

  • 单行截断:标题、名称等可能过长的文字,必须使用 @include text-ellipsis;
  • 多行截断:描述性文字必须限制行数,例如 @include text-ellipsis-multi(1);

按钮与标签保护

  • 默认样式重置(Button Button 须使用 Mixin @include button-reset; 清除默认样式,再写自定义样式(背景、圆角等)进行覆盖。
    • 重要:必须显式设置 backgroundborderborder-radius 以及 &:active 点击态样式,否则按钮将不可见或无反馈。
    • 对齐修正:若按钮与其他元素(如另一个按钮或文本)并排,建议显式设置 heightborder(即使是透明边框),以确保盒模型高度一致。
  • 强制不换行:按钮 (Button) 和标签 (Tag) 内部文字必须设置 white-space: nowrap;,防止在窄容器中换行导致布局错位。
  • 最小宽度:为按钮设置 min-width,确保文字少时也不过窄。

容器空间适配(横向滚动场景)

  • 避免过窄容器:在 ScrollView 横向滚动场景下,子项宽度不应小于 260rpx(除非仅展示图片)。
  • 布局模式保护:横向滚动子项必须保持行内特性。若需内部 Flex 布局,必须使用 display: inline-flex,严禁使用 display: flex(会导致竖向排列)。
  • 内容降级策略:如果容器宽度必须很小(< 240rpx),应简化展示内容(例如:隐藏按钮,改用图标;或隐藏描述文字)。

图片与媒体组件规范(防止高度塌陷与留白)

  • 列表与卡片场景(标准布局)
    • 在标准列表、网格(Grid)、卡片设计中,图片容器推荐设置固定高度或固定比例,以保持布局整齐。
    • Taro Image 组件必须设置 mode="aspectFill"(保持比例裁剪填充),确保图片填满容器且不变形。

10. 布局反例(避免)

  • ✖️ 元素拥挤:间距小于 16rpx
  • ✖️ 留白过大:卡片内边距超过 64rpx
  • ✖️ 圆角不统一:同一页面卡片圆角大小不一
  • ✖️ 缺少层次:所有内容都平铺,无卡片包裹
  • ✖️ 按钮无反馈:点击无 active 状态
  • ✖️ 内容超出屏幕:固定宽度元素超过屏幕宽度,右侧被截断

11. TabBar 图标设计规范

  • 格式:SVGviewBox 统一为 0 0 24 24
  • 风格:以线条为主的精致图标,stroke-linecap="round" stroke-linejoin="round"
  • 未选中态stroke="#999999" stroke-width="1.5"fill="none"
  • 选中态stroke="当前主题色" stroke-width="2"fill="none",也可根据需要对核心区域使用 fill="当前主题色" 做实心填充以增强选中感
  • 风格统一:同一套图标线条粗细、圆角、视觉重量必须一致,图标主体控制在 viewBox 的 2~22 范围内(四周留 2px 呼吸空间)
  • 品质要求:图标需要精致、专业,达到可直接发布上线的品质。路径要简洁流畅,避免过度复杂的细节,确保缩小到 24px 仍清晰可辨
  • 隐喻选择:使用常见且高辨识度的图标隐喻(如:首页用房子、我的用人形、消息用气泡、购物车用推车、发现用指南针等)

</ui_ux_design_principles>