Name: miniprogram-ui-ux-design
Description: 微信小程序 UI/UX 设计规范与最佳实践。适用于设计小程序界面、选择配色和字体、实现 WXSS 布局、创建组件模式、确保无障碍合规等场景。覆盖 rpx 单位体系、Flexbox 布局策略、安全区域适配、暗黑模式、Design Token 方法论、30 个 WXML+WXSS 组件模式、WCAG 无障碍指南(含小程序约束)、以及反模式清单。
Version: 1.0.1
在以下场景加载此 Skill:
> "rpx 优先、Flexbox 为主、系统字体、触屏优先"
小程序 UI 的核心约束:单一纵向滚动、触屏交互、rpx 自动适配、WXSS CSS 子集、无 Web 字体。
| 技术 | 用法 |
|---|---|
| ------ | ------ |
| 大小 | 越大越重要(display > heading > body) |
| 颜色 | 高饱和度/高对比 = 吸引注意力(CTA 应突出) |
| 留白 | 周围留白越多 = 越重要 |
| 邻近 | 相关内容放在一起 |
| 对比 | 深 on 浅,或浅 on 深(永远不用低对比度) |
1rpx = 屏幕宽度 / 750
iPhone 6 (375px): 1rpx = 0.5px → px × 2 = rpx
iPhone 14 Pro: 1rpx ≈ 0.524px
iPhone SE: 1rpx = 0.5px
转换公式: 设计稿 px 值 × 2 = rpx 值(375px 宽画板基准)
| ✅ 支持 | ❌ 不支持或不完整 |
|---|---|
| --------- | ------------------- |
| Flexbox | CSS Grid |
| position (relative/absolute/fixed) | backdrop-filter |
| transform / transition / animation | clip-path |
| @keyframes | ::before/::after(部分支持) |
| CSS 变量(--token) | @font-face 远程字体 |
小程序不支持加载 Web 字体(@font-face 远程字体不可用)。
系统字体栈:
font-family: -apple-system, "Helvetica Neue", "PingFang SC", "Microsoft YaHei", sans-serif;
仅使用系统字体,覆盖 iOS(苹方)、Android(思源/Noto)、Windows(微软雅黑)。
| # | 反模式 | 正确做法 |
|---|---|---|
| --- | -------- | ---------- |
| 1 | 照搬 Web 习惯(px/rem、CSS Grid、Web 字体) | rpx、Flexbox、系统字体 |
| 2 | setData 传输大对象或高频调用 | 局部更新、节流、单次 < 256KB |
| 3 | 过度嵌套 view 层级 | 控制在 5 层以内,减少渲染开销 |
| 4 | 忽略 darkmode 适配 | 从设计之初就定义双主题 Token |
| 5 | 触摸区域 < 88rpx | 最小 88rpx,按钮间距 ≥ 16rpx |
| 场景 | 方式 | 时长 |
|---|---|---|
| ------ | ------ | ------ |
| 按钮按下 | hover-class + transform: scale(0.97) | 0.15s |
| 元素出现 | opacity 0→1 + translateY | 0.3s ease-out |
| 加载中 | 骨架屏 pulse 动画 | 持续 |
| 成功完成 | 绿色对勾 fade-in | 0.3s |
| 错误 | 轻微抖动(translateX ±4rpx)+ 红色高亮 | 0.3s |
只动 transform 和 opacity —— 这两个属性由 GPU 加速,不触发重排。
设计完成、开始写代码前逐项确认:
"mini program UI" "mobile timer" "food app"| 工具 | 用途 |
|---|---|
| ------ | ------ |
| Figma | 设计稿(375px 宽画板 = iPhone 6 基准) |
| WebAIM Contrast Checker | 检查任意 HEX 色值对比度(4.5:1 / 3:1) |
| Coolors / Huevy | 调色板生成、品牌色 50-900 色阶派生 |
| iconfont (Alibaba) | 字体图标(单色 SVG,通过 CSS color 控制) |
| 微信开发者工具 | WXSS 实时预览、Audits 面板检查 |
| 文件 | 内容 |
|---|---|
| ------ | ------ |
references/MINIPROGRAM_BASICS.md | rpx/安全区/暗黑/多机型/布局/反模式/组件库决策(15 节) |
references/DESIGN_TOKENS.md | Token 方法论/间距/字体/色彩+趋势/3 套示例主题(9 节) |
references/DESIGN_WORKFLOW.md | 设计流程/Figma→WXSS 转换/协作模式(8 节) |
references/COMPONENTS.md | 10 大类 30 个通用组件 WXML+WXSS 示例 |
references/ACCESSIBILITY.md | WCAG 原则 + 小程序无障碍/测试方法/检查清单(12 节) |
共 2 个版本