版本:v1.0 适用范围:B 端后台管理系统 / SaaS 平台 / 数据可视化产品 核心理念:一致性、效率、可控、可访问
价值:一致性确保多设计师协作时代码复用高效,用户体验连贯,产品形象专业。当设计组件库建成后,设计师只需关注业务逻辑差异,而非重复定义基础样式。
系统应当始终让用户知晓当前状态:
本规范采用 原子化设计(Atomic Design) 作为方法论基础,将设计系统按粒度分为五个层级:
原子(Atom) → 分子(Molecule) → 组织(Organism) → 模板(Template) → 页面(Page)
| 层级 | 定义 | 示例 |
|---|---|---|
| 原子 | 最小不可分割的 UI 单元 | 颜色、字体、图标、圆角、分割线 |
| 分子 | 由原子组合而成的简单组件 | 按钮、输入框、选择器、标签 |
| 组织 | 由分子组合而成的功能模块 | 表格工具栏、表单区域、导航菜单 |
| 模板 | 由组织组合而成的页面骨架 | 列表页模板、详情页模板 |
| 页面 | 填充真实数据后的最终形态 | 用户列表页、订单详情页 |
核心原则:通用层的东西需要严格遵循,不建议随意重新定义。优先使用成熟的组件库(如 Ant Design、Element UI),在此基础上进行定制化调整,而非从零造轮子。
品牌色/主色
└── 浅色变体(不同透明度层级)
└── 深色变体(不同明度层级)
功能色
├── 成功色(绿)
├── 警告色(橙/黄)
├── 错误色(红)
└── 信息色(蓝)
中性色
├── 文字色(不同灰阶)
├── 背景色
├── 分割线色
└── 边框色
使用场景:
全局替换能力:在 Sketch / Figma 中使用 Symbol 或 Color Style 管理颜色。当需要整体更换主色时,可通过"编辑 → 查找替换颜色"功能,一键替换所有页面中该颜色的所有透明度实例。
| 功能 | 推荐色相 | 使用场景 |
|---|---|---|
| 成功 | 绿色 | 操作成功提示、状态标签-已完成、通过状态 |
| 警告 | 橙色/黄色 | 即将到期提醒、注意事项、待处理状态 |
| 错误 | 红色 | 操作失败、表单验证错误、删除确认、危险操作 |
| 信息 | 蓝色 | 普通信息提示、帮助说明 |
记忆口诀:绿成功、橙警告、红错误——对应日常生活中的交通信号灯逻辑,直观易记。
中性色是页面中使用最多的色系,主要包括:
| 用途 | 说明 |
|---|---|
| 文字色 | 主文字(#333 左右深度)、次要文字、禁用/占位文字 |
| 背景色 | 页面底色、卡片底色、表头底色 |
| 分割线/边框色 | 表格分割线、卡片边框、输入框边框 |
| 浅底色 | hover 态底色、选中行底色 |
同色系浅色:以品牌色为基础,叠加不同透明度的白色(#FFFFFF),得到不同深浅层次。
同色系中性色文字:以纯黑(#000000)为基础,叠加不同透明度,得到不同灰度的文字颜色。此方法可保证所有文字色同属一个色系,视觉上更加统一干净。
色彩微调技巧:中性色(尤其是背景色和分割线色)可略微偏向冷色调,使页面视觉上更加清爽干净。如灰色偏蓝比偏暖更显洁净。
| 平台 | 中文 | 英文/数字 |
|---|---|---|
| macOS | 苹方(PingFang SC) | SF Pro / San Francisco |
| Windows | 微软雅黑(Microsoft YaHei) | Segoe UI |
CSS Fallback 建议:
font-family: -apple-system, BlinkMacSystemFont, "PingFang SC",
"Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
(注:macOS 系统下 Regular 对应 font-weight 400,Medium 对应 500,Semibold 对应 600)
| 层级 | 字号 | 用途 |
|---|---|---|
| 大标题 | 20px | 页面大标题(极少使用) |
| 页面标题 | 18px | 页面级标题 |
| 内容标题 | 16px | 区块标题、卡片标题 |
| 正文 | 14px(主推荐) | 表格正文、表单标签、正文内容 |
| 辅助文字 | 12px | 说明文字、水印、标签 |
核心建议:
| 字号 | 推荐行高 | 说明 |
|---|---|---|
| 20px | 1.3 ~ 1.5 | 标题 |
| 18px | 1.3 ~ 1.5 | 页面标题 |
| 16px | 1.5 | 内容标题、卡片内正文 |
| 14px | 1.5 | 基准正文行高 |
| 12px | 1.3 ~ 1.5 | 辅助文字 |
采用 8px 间距体系(以 8 为步长递增):
4px — 极小间距(紧密关联元素)
8px — 基础间距(最常用)
12px — 辅助间距
16px — 中等间距
24px — 大间距(模块分割)
32px — 超大间距
48px — 页面级间距
推荐使用 24 栅格(24-column Grid)。
页面宽度 = 24 × 列宽 + 23 × 水槽宽 + 2 × 页边距
为什么是 24 栅格?
栅格术语:
栅格属于内容层(Content Layer),而非全局层。它约束的是数据内容的布局,不包括全局导航、侧边栏等固定元素。
Z 轴层级(由底向上):
├── 背景层(Background)
├── 全局控制层(Global Control) — 顶部导航、左侧菜单
├── 栅格约束下的内容层(Content with Grid)
│ ├── 数据过滤区
│ ├── 数据展示区(表格/卡片)
│ └── 分页区
└── 弹窗/浮层(Modal/Overlay)
在 24 栅格下推荐模块拆分方式:
| 布局模式 | 栅格分配 | 适用场景 |
|---|---|---|
| 2 等分 | 12 + 12 | 对照展示 |
| 3 等分 | 8 + 8 + 8 | 卡片列表 |
| 4 等分 | 6 + 6 + 6 + 6 | 数据卡片 |
| 左窄右宽 | 6 + 18 或 8 + 16 | 筛选 + 内容 |
| 左宽右窄 | 18 + 6 | 内容 + 辅助信息 |
| 不等分 | 9 + 15 | 表格 + 详情面板 |
灵活的模块划分不只是等分——根据信息量和业务需要,可以使用不同比例的组合,通过栅格规范控制视觉秩序。
B 端后台产品推荐做法:
设计稿设计宽度建议:1440px(兼顾主流分辨率 1366、1440、1920,向上向下缩放均不会过于紧张或空旷)。
| 元素类型 | 推荐圆角 | 说明 |
|---|---|---|
| 小按钮/标签 | 2px ~ 4px | 精致克制 |
| 标准按钮/输入框 | 4px | 通用标准 |
| 卡片容器 | 8px | 柔和过渡 |
| 弹窗 | 8px ~ 12px | 与卡片保持一致 |
B 端产品建议:
| 尺寸 | 高度 | 适用场景 |
|---|---|---|
| 小按钮(Small) | 24px | 表格内操作、紧凑区域 |
| 标准按钮(Default) | 32px | 表单区域、工具栏 |
| 大按钮(Large) | 40px | 页面主操作、登录页、空状态引导 |
| 类型 | 视觉权重 | 使用场景 | 每屏建议数量 |
|---|---|---|---|
| 主按钮(Primary) | 最高 | 页面最主要操作(新建、保存、提交) | 1 个 |
| 次按钮(Default) | 中等 | 辅助操作(取消、重置、导出) | 不限 |
| 文字按钮(Text) | 最低 | 表格内操作、次要功能入口 | 不限 |
| 危险按钮(Danger) | 特殊 | 删除、下架等破坏性操作 | 按需 |
| 虚线按钮(Dashed) | 低 | 新增项、占位入口 | 按需 |
| 图标按钮(Icon-only) | 低 | 空间受限的操作(表格行操作) | 建议少用 |
推荐做法:
必须涵盖以下状态:
| 状态 | 说明 |
|---|---|
| 默认态(Default) | 正常可见状态 |
| 悬停态(Hover) | 鼠标悬停时(叠加黑色遮罩层,透明度通常 10%~20%) |
| 点击态(Active) | 鼠标按下时(叠加更深遮罩层或色相微调) |
| 禁用态(Disabled) | 不可点击时(降低透明度或灰度化) |
| 加载态(Loading) | 提交/保存过程中(显示 loading 动画,同时禁用点击) |
Hover 态推导方法:在默认色上叠加一层黑色遮罩(10%~20% 透明度),适用于所有按钮类型,无需为每种按钮单独设计 hover 色。
关键原则:同一产品中,按钮排列方式应当统一。当页面同时存在多个按钮时,最重要的按钮是第一眼能看到的。
| 导航模式 | 适用场景 | 优点 | 缺点 |
|---|---|---|---|
| 顶部导航 | 功能简单(≤7 个一级菜单) | 不占内容空间,阅读流自然 | 扩展性差,不支持多级 |
| 侧边导航 | 后台系统(最常用) | 扩展性强,层级清晰,支持深层级 | 占用横向空间 |
| 混合导航 | 超大型系统(一级菜单 5~6 个以上、模块众多) | 最强扩展性 | 视觉复杂,开发难度高 |
功能数量少、结构简单
└── 顶部导航
功能多、多层级(大多数 B 端后台)
└── 侧边导航(推荐)
超大型 SaaS 平台(一级模块 6 个以上,每模块下数十子级)
└── 混合导航(L 型:顶栏一级 + 侧栏二级/三级)
展开与折叠:
菜单层级:
视觉风格:
侧边栏宽度:
┌────────────────────────────┐
│ 弹窗/浮层 (Modal) │ ← 最高层
├────────────────────────────┤
│ 局部弹窗/抽屉 (Drawer) │
├────────────────────────────┤
│ 内容区 (Content Area) │
│ ├── 数据过滤区 │
│ ├── 数据展示区 │
│ └── 分页区 │
├────────────────────────────┤
│ 全局控制层 (Global Nav) │ ← 固定
│ ├── 顶部导航 │
│ └── 侧边导航 │
└────────────────────────────┘
| 类型 | 层级 | 使用场景 |
|---|---|---|
| 全局弹窗(Modal) | 全局控制层之上 | 跨页面操作、重要确认 |
| 局部弹窗(Popover) | 内容区之上 | 表格内编辑、快速查看 |
| 抽屉(Drawer) | 内容区之上 | 详情查看、复杂表单编辑 |
逐层判断选择最合适的录入组件:
需要录入什么?
├── 纯文本/数字
│ └── 输入框(Input)
│ ├── 单行 → Input
│ ├── 多行 → Textarea
│ └── 数字范围 → InputNumber(或滑块)
│
├── 从已有选项中选择
│ ├── 选项是否分组?
│ │ ├── 无分组
│ │ │ ├── 选项少(≤5)→ Radio(单选)/ Checkbox(多选)
│ │ │ ├── 选项多(>5)→ Select 下拉
│ │ │ └── 选项极多(>20)→ Select + 搜索
│ │ └── 有分组
│ │ ├── 组少 + 每组选项少 → 平铺 Radio/Checkbox
│ │ ├── 组少 + 每组选项多 → 级联选择(Cascader)
│ │ ├── 组多 + 每组选项少 → 树选择(TreeSelect)
│ │ └── 组多 + 每组选项多 + 多层级 → 穿梭框(Transfer)
│ │
│ └── 是否/开关类
│ └── Switch 开关(比 Checkbox 更直觉)
│
├── 日期/时间
│ ├── 选择日期 → DatePicker
│ ├── 选择日期范围 → RangePicker
│ ├── 选择时间 → TimePicker
│ └── 选择日期+时间 → DateTimePicker
│
├── 数值范围
│ └── Slider(滑块)/ InputNumber 范围
│
└── 文件/图片
└── Upload(上传组件)
标签对齐:推荐右对齐(冒号对齐)的标签方式。在 B 端表单中,右对齐的标签使标签与输入框的距离最紧凑,视觉扫描效率最高。
字段间距:
表单按钮位置:
必填标识:必填字段标签前加红色星号 *,或在标签后标注"(必填)"。
表单分步:当表单字段过多时,使用分步表单(Steps)将录入过程拆分为多个步骤。
| 状态 | 说明 |
|---|---|
| 上传前 | 默认区域 + 上传按钮 |
| 上传中 | 进度条展示 |
| 上传完成 | 缩略图/文件名展示 + 删除按钮 |
| 上传失败 | 错误提示 + 重试按钮 |
| 拖拽上传 | 支持拖拽文件到指定区域(开发成本高,可按需实现) |
从小到大,数据展示容器逐级扩展:
徽标数(Badge) → 最小信息单元,用于计数
└── 标签(Tag) → 状态/分类标记
└── 数据卡片(Card) → 结构化展示一组相关信息
└── 表格(Table) → 大规模结构化数据展示
类型:
尺寸:小/中/大,与按钮的尺寸体系保持一致。
颜色:使用品牌色、功能色的浅色变体作为填充色,深色或品牌色作为边框/文字色。
┌──────────────────────────────────────────┐
│ 表格工具栏(Toolbar) │
│ ┌──────────┬──────────┬──────────┐ │
│ │ 表头1 │ 表头2 │ 表头3 │ │
│ ├──────────┼──────────┼──────────┤ │
│ │ 单元格 │ 单元格 │ 单元格 │ │
│ ├──────────┼──────────┼──────────┤ │
│ │ 单元格 │ 单元格 │ 单元格 │ │
│ └──────────┴──────────┴──────────┘ │
│ 分页器 │
└──────────────────────────────────────────┘
术语定义:
| 样式类型 | 特点 | 适用场景 |
|---|---|---|
| 极简样式 | 无竖分割线,仅横向浅色分割线 | 最常用,视觉干净,信息干扰少 |
| 斑马纹样式 | 奇偶行背景色交替 | 列数多、数据密集时辅助横线阅读 |
| 带边框样式 | 全网格线(横+竖) | 数据极为复杂、需要精确对位时 |
| 无分割线样式 | 仅靠间距区分行 | 数据列少、行数少时(极度简洁) |
推荐:以极简样式(横向浅色分割线)为默认方案,满足大多数场景。hover 时高亮当前行(浅底色)。
分割线设计原则:"轻盈"——分割线颜色要浅,不要抢夺用户对数据的注意力。它的作用是"引导视线,区分行",而非"成为视觉焦点"。
单元格高度:
单元格宽度:
内容对齐: | 内容类型 | 对齐方式 | 原因 | |---------|---------|------| | 文本(名称、标题、描述等) | 左对齐 | 符合从左到右的阅读习惯 | | 数字(金额、数量、占比) | 右对齐 | 方便数字大小直观对比 | | 固定长度标识(ID、编码、手机号) | 居中对齐 | 视觉规整,无需对比 | | 状态标签 | 左对齐或居中 | 根据内容长度决定 | | 操作列 | 右对齐 | 视线终点自然落位操作区 |
单元格空值处理:
-(短横杠),不要留空白。操作列触发方式: | 方式 | 适用场景 | |------|---------| | 行 hover 显示操作 | 操作较少时 | | 操作列固定展示 | 操作多且重要时 | | 点击行触发详情 | 行数据以"查看详情"为主操作时 |
表格上方工具栏通常包含: | 区域 | 内容 | |------|------| | 左侧 | 批量操作按钮(批量删除、批量导出等) | | 右侧 | 新建按钮、搜索框、筛选器、导出按钮 |
| 交互方式 | 适用场景 | 说明 |
|---|---|---|
| 行内编辑 | 单字段快速修改 | 点击单元格进入编辑态 |
| 弹窗编辑 | 多字段编辑 | 弹出 Modal 表单 |
| 抽屉编辑 | 复杂表单编辑 | 右侧/底部弹出 Drawer |
| 新页面编辑 | 极复杂表单 | 跳转独立编辑页 |
| 行 hover 操作 | 简单操作 | hover 显示操作入口 |
| 类型 | 打扰程度 | 停留时间 | 是否可手动关闭 | 内容承载量 |
|---|---|---|---|---|
| 即时提示(Toast) | 低 | 短(自动消失) | 否(或可选关闭) | 少 |
| 通知提示(Notification) | 中 | 较长(可自动消失/手动关闭) | 是 | 较多 |
| 告警提示(Alert) | 中高 | 需手动关闭 | 是 | 较多 |
| 确认弹窗(Confirm Modal) | 高 | 停留在页面直到操作 | 是 | 最多 |
| 类型 | 使用场景 |
|---|---|
| 局部 Loading | 组件级数据加载(如表格刷新、下拉框查询) |
| 全局 Loading | 页面级数据加载(首次进入页面) |
| 骨架屏(Skeleton) | 页面框架先展示占位,数据逐步填充 |
| 进度条(Progress) | 文件上传、任务执行等可量化进度场景 |
三步骤:
| 分析目标 | 首选图表 | 次选 | 说明 |
|---|---|---|---|
| 比较大小 | 柱状图(Bar) | 条形图(水平柱状) | 柱状图通过柱子的长短最直观地比较数值大小 |
| 比较占比 | 饼图/环形图 | 堆叠柱状图 | 饼图适合展示各部分占整体的比例 |
| 趋势变化 | 折线图(Line) | 面积图 | 折线图最适合展示随时间变化的趋势 |
| 构成分布 | 饼图/环形图 | 堆叠柱状图、瀑布图 | 展示整体中各部分的构成 |
| 排名 | 条形图(水平柱状) | 柱状图 | 条形图适合展示排名(尤其是移动端或名称较长场景) |
| 多维度对比 | 分组柱状图/分组条形图 | 雷达图 | 同时比较多个维度/类别的数值 |
| 相关性/分布 | 散点图 | 气泡图 | 展示两个变量之间的关系 |
| 流程转化 | 漏斗图(Funnel) | 桑基图 | 展示业务流程中各阶段的转化率 |
| 目标 vs 实际 | 仪表盘图(Gauge) | 子弹图 | 展示实际完成情况与目标的差距 |
| 多指标综合评估 | 雷达图(Radar) | — | 多维度综合表现评估(常用于竞品对比、能力评估) |
| 地理数据 | 地图(Map) | — | 带有地理属性的数据 |
交互规范:
视觉规范:
应避免的常见错误:
文档维护:本白皮书应随产品迭代持续更新。所有新增组件和交互模式需经过设计评审后方可纳入规范。
参考资源:Ant Design、Element UI、Arco Design、SAP Fiori Design Guidelines、Material Design。