参考卡 · 设计 · 贯穿全程 · 可反复回看 / 可打印

常见设计模式

表单、导航、表格、弹窗、加载、空状态,这些"零件"几乎每个页面都会用到。这张卡逐个说明每种零件该长什么样、什么时候用、容易踩什么坑,并把样子画出来对照。你不用懂代码,照着正反例就能告诉 Agent 要哪种、不要哪种,也能看出做出来的界面哪里不对。

这张卡覆盖 13 类零件
  1. 表单设计(Form)
  2. 导航模式(Navigation)
  3. 数据展示与表格(Tables)
  4. 反馈与通知(Feedback)
  5. 弹窗、遮罩与浮层(Modals)
  6. 加载与进度(Loading)
  7. 空状态与错误状态(Empty / Error)
  8. 输入控件(Input Controls)
  9. 搜索体验(Search)
  10. 引导与向导(Onboarding / Wizard)
  11. 无障碍(Accessibility)
  12. 仪表盘设计(Dashboard)
  13. 内容排版(Content)

1. 表单设计(Form Design)

减轻填表负担的 4 条原则

  1. 砍掉多余字段。每多一个字段,就多一批人放弃填写,只问你真正需要的。
  2. 把相关字段分组。姓名放一起、地址放一起、付款信息放一起。
  3. 给聪明的默认值。预选最常见的选项,自动识别国家/货币。
  4. 显示进度。多步表单要有清晰的步骤指示。

表单易用性 · 10 条关键建议

  1. 表单越短越好,字段越少,完成率越高。
  2. 单列布局(除了"城市/省份"这类又短又相关的字段,不要并排放)。
  3. 标签放在字段上方(不要放左边。上方在手机上更好,也更容易扫读)。
  4. 占位文字只用来提示格式,不要当标签(一聚焦它就消失了)。
  5. 手机上点击目标至少 44px 高。
  6. 边填边校验(用户填完每个字段就提示),不要等到提交才报错。
  7. 用对输入类型(email、tel、number),手机会弹出对应的键盘。
  8. 清楚区分必填选填
  9. 错误信息要具体,并出现在出问题的字段旁边
  10. 提交按钮要写清动作("创建账号",而不是"提交")。
反例:双列 + 左侧标签 + 占位当标签 + 模糊按钮
姓名电话
好例:单列 + 上方标签 + 必填标记 + 明确按钮
姓名 *
手机号 *

复杂表单怎么设计

当一个表单字段很多时:

告诉你的 Agent:"这个维修预约表单改成单列、标签放上方、必填打星号、提交按钮文案改成'提交维修预约'。"它照做,你对照上面的正反例判断对不对。

2. 导航模式(Navigation Patterns)

顶部导航 / 应用栏(Top Nav / App Bar)

Steve 维修 首页 服务 价格 关于 搜索 账号

底部标签栏(Bottom Tab Bar,手机)

首页
预约
订单
我的

侧边栏导航(Sidebar)

工作台
订单总览
待处理
已完成
设置
价格表
门店信息

面包屑(Breadcrumbs)

首页 / 维修服务 / 笔记本电脑 / 屏幕更换

汉堡菜单要当心

汉堡菜单把导航藏起来,降低了"被发现"的概率。

注意:藏在汉堡菜单后面的内容,互动量会少 50% 以上。只有在你实在没法用别的方式展示导航时才用。优先考虑底部标签、可见导航栏或标签页。

上下文菜单(右键 / 长按菜单)

重命名F2
复制Ctrl+C
删除Del

3. 数据展示与表格(Data Display & Tables)

表格设计

订单设备报价(元)
#10293MacBook 屏幕1,280
#10294iPhone 电池320
#10295台式机清灰80

怎么选图表类型

图表用来表达
柱状图(Bar)不同类别之间的数量对比
折线图(Line)随时间变化的趋势
饼图(Pie)整体中的占比(少用,柱状图通常更清楚)
热力图(Heatmap)两个维度上的密度/强度分布
KPI 卡单个重要数字 + 趋势指示

4. 反馈与通知(Feedback & Notifications)

轻提示 / 吐司条(Toast / Snackbar)

已删除订单 #10293 撤销

警示横幅(Alert Banner)

信息 本周六照常营业。
成功 预约已提交,我们会尽快联系你。
警告 配件库存仅剩 1 件。
错误 提交失败,请检查手机号格式。

内联校验(Inline Validation)

反例:只说"错了"
密码无效
好例:告诉怎么改
密码至少需要 8 个字符
"密码至少需要 8 个字符" 好过 "密码无效"。错误信息越具体,用户越容易自己改对。

5. 弹窗、遮罩与浮层(Modals, Overlays & Popups)

该用弹窗的时候
别用弹窗的时候

弹窗最佳实践

× 确定删除订单 #10293?

此操作无法撤销。

底部弹层(Bottom Sheet,手机)

更多操作
分享给客户
导出 PDF
取消订单

6. 加载与进度(Loading & Progress)

骨架屏(Skeleton Screen)

进度指示

上传配件照片… 65%

感知性能(让它"感觉更快")

7. 空状态与错误状态(Empty & Error States)

空状态设计

别这样
要这样
还没有维修订单
你的客户预约后,订单会出现在这里。

错误状态设计

反例:甩错误码、怪用户
Error 500
你的请求无效
好例:说人话 + 给重试
我们暂时连不上服务器。

8. 输入控件(Input Controls)

复选框 vs 开关 vs 单选

控件什么时候用
复选框(Checkbox)从一组里多选,或单个是/否(如勾选同意)。提交后才生效
开关(Toggle / Switch)二选一的开/关,且立即生效(不用点保存)。适合"设置"。
单选(Radio)从互斥的一组里只选一个。永远要预选一个。
复选框:多选
单选:只选一个(已预选)
营业中(开)
接受预约(关)

下拉 vs 分段控件

手机 电脑 平板

日期输入

9. 搜索体验(Search Experience)

搜索框设计

搜索维修服务… Cmd K

搜索结果

找到 3 条与 “屏幕” 相关的结果
MacBook 屏幕更换
iPhone 屏幕维修
平板 屏幕贴膜

10. 引导与向导(Onboarding & Wizards)

向导 / 步骤条(Wizard / Stepper)

1 选设备 2 填故障 3 确认

引导最佳实践

11. 无障碍(Accessibility Patterns)

最低要求

反例:对比不足
蓝底上的浅蓝字,看不清
好例:对比足够(≥4.5:1)
蓝底白字,清晰

减弱动效(Reduced Motion)

读屏器考量

12. 仪表盘设计(Dashboard Design)

布局原则

42
今日订单
¥6.8k
今日营收
8
待处理
明细表格…

仪表盘专属模式

13. 内容排版(Content Design)

内容布局

师傅手艺好,半小时就把屏幕换好了,价格也透明。
李先生 · 老客户

响应式内容

这些模式不用背。遇到具体页面时翻回这张卡,把对应规则抄给 Agent,例如:"这个预约表单拆成 3 步向导,每步有进度条""空订单列表加一个友好空状态和'创建第一个订单'按钮"。
怎么用这张卡:做某个零件时(表单 / 弹窗 / 表格…),先翻到对应小节,照着正反例告诉你的 Agent 你要哪种、不要哪种。示例默认用 OpenCode 这类 Agent 工具都一样,重点是你能看懂 + 指挥,而不是自己写代码。

卡住或拿不准,就把页面截图发给你的 AI 老师(Agent),问"按常见设计模式,这个表单/弹窗/空状态该怎么改?"

来源:Abel's UX Design Skill(abel-ux)· Abel's Design Note,综合 Refactoring UI、Laws of UX、Apple HIG、Material Design、NNGroup。本卡为中文整理版加可视示例,贯穿全程可反复回看。
设计卡库入口(design-7-truths) 层级 · 布局 · 留白 术语表