深蓝色 UI 规范
1. 色彩
1.1 标准色
色彩体系由四个色系构成,每个色系分主色与辅色两组,每组按明度从浅到深编号(01 最浅,数字越大越深)。
1.1.1 色系总览
| 色系 |
用途定位 |
代码前缀 |
| 渐红系 |
警示、错误、强调操作 |
ZS-001 |
| 渐蓝系 |
信息、链接、次级操作 |
ZS-002 |
| 渐青系 |
成功、在线状态、数据高亮 |
ZS-003 |
| 深蓝系 |
页面背景、容器、导航底色 |
ZS-004 |
1.1.2 渐红系(ZS-001)
用于错误提示、危险操作、重要告警。
| 编号 |
色值 |
说明 |
| ZS-001-01 |
#FFF1F0 |
极浅红,错误背景底色 |
| ZS-001-02 |
#FFCCC7 |
浅红,输入框错误边框 |
| ZS-001-03 |
#FFA39E |
— |
| ZS-001-04 |
#FF7875 |
— |
| ZS-001-05 |
#FF4D4F |
标准红,Tag / Badge |
| ZS-001-06 |
#F5222D |
主色红,按钮 / 图标 |
| ZS-001-07 |
#CF1322 |
深红,Hover 状态 |
| ZS-001-08 |
#A8071A |
深红,Active / Press |
| ZS-001-09 |
#820014 |
极深红 |
| ZS-001-10 |
#5C0011 |
最深红 |
1.1.3 渐蓝系(ZS-002)
用于信息提示、链接、次级按钮。
| 编号 |
色值 |
说明 |
| ZS-002-01 |
#E6F4FF |
极浅蓝,信息背景底色 |
| ZS-002-02 |
#BAE0FF |
浅蓝 |
| ZS-002-03 |
#91CAFF |
— |
| ZS-002-04 |
#69B1FF |
— |
| ZS-002-05 |
#4096FF |
标准蓝,链接 / 信息 Tag |
| ZS-002-06 |
#1677FF |
主色蓝,主操作按钮 |
| ZS-002-07 |
#0958D9 |
深蓝,Hover |
| ZS-002-08 |
#003EB3 |
深蓝,Active |
| ZS-002-09 |
#002C8C |
极深蓝 |
| ZS-002-10 |
#001D6C |
最深蓝 |
1.1.4 渐青系(ZS-003)
用于成功状态、在线标识、数据图表高亮。
| 编号 |
色值 |
说明 |
| ZS-003-01 |
#E6FFFB |
极浅青,成功背景 |
| ZS-003-02 |
#B5F5EC |
浅青 |
| ZS-003-03 |
#87E8DE |
— |
| ZS-003-04 |
#5CDBD3 |
— |
| ZS-003-05 |
#36CFC9 |
标准青,成功 Tag |
| ZS-003-06 |
#13C2C2 |
主色青,在线点 / 图标 |
| ZS-003-07 |
#08979C |
深青,Hover |
| ZS-003-08 |
#006D75 |
深青,Active |
| ZS-003-09 |
#00474F |
极深青 |
| ZS-003-10 |
#002329 |
最深青 |
1.1.5 深蓝系(ZS-004)
用于页面背景、导航栏、侧边栏、卡片容器。这是深蓝主题的核心色系。
| 编号 |
色值 |
说明 |
| ZS-004-01 |
#E8EDF5 |
极浅,分割线 / 禁用底色 |
| ZS-004-02 |
#C5CFE0 |
浅,边框 |
| ZS-004-03 |
#9BADC8 |
— |
| ZS-004-04 |
#6E88B0 |
— |
| ZS-004-05 |
#4A6491 |
中深蓝,次级文字 |
| ZS-004-06 |
#2D4473 |
深蓝,卡片容器背景 |
| ZS-004-07 |
#1A2F5A |
深蓝,侧边栏背景 |
| ZS-004-08 |
#122347 |
深蓝,导航栏背景 |
| ZS-004-09 |
#0C1836 |
极深蓝,页面背景 |
| ZS-004-10 |
#060E24 |
最深,全局底色 |
1.1.6 功能色(主色 / 字体色 / 辅色 / 背景色)
从标准色系中提取,用于具体 UI 角色指定。
| 角色 |
色值 |
来源 |
| 主色(Primary) |
#1677FF |
ZS-002-06 |
| 主色 Hover |
#0958D9 |
ZS-002-07 |
| 主色 Active |
#003EB3 |
ZS-002-08 |
| 正常字体色 |
#C5CFE0 |
ZS-004-02 |
| 次级字体色 |
#6E88B0 |
ZS-004-04 |
| 禁用字体色 |
#4A6491 |
ZS-004-05 |
| 辅色(Accent) |
#13C2C2 |
ZS-003-06 |
| 页面背景色 |
#0C1836 |
ZS-004-09 |
| 容器背景色 |
#1A2F5A |
ZS-004-07 |
| 白色 |
#FFFFFF |
— |
1.1.7 小面积装饰色
用于图标点缀、徽标、少量强调,不用于大面积背景。
| 色值 |
说明 |
#6388FF |
紫蓝,图标装饰 |
#F5222D |
红色,危险徽标 |
#12306C |
深蓝,品牌点缀 |
#478880 |
青绿,辅助点缀 |
#950404 |
深红,重要告警点 |
1.1.8 图表配色
通用图表色序(面积较大,如柱状图、折线图、饼图):
| 序号 |
色值 |
| 1 |
#1677FF |
| 2 |
#13C2C2 |
| 3 |
#4096FF |
| 4 |
#36CFC9 |
| 5 |
#69B1FF |
| 6 |
#5CDBD3 |
| 7 |
#91CAFF |
| 8 |
#87E8DE |
小面积图表色序(面积较小,如散点、小徽章、迷你图):
| 序号 |
色值 |
| 1 |
#4096FF |
| 2 |
#36CFC9 |
| 3 |
#FF4D4F |
| 4 |
#FFA39E |
| 5 |
#6388FF |
| 6 |
#478880 |
2. 字体
2.1 全局样式 - 字体
2.1.1 大屏页面字体规范
中文字体:Noto Sans S Chinese
| 样式 |
使用场景 |
| 24px Bold |
一级标题 |
| 24px Medium |
次要一级标题 |
| 22px Medium |
二级标题 |
| 22px Regular |
正文 |
| 20px Regular |
排版空间有限的正文 |
数字字体:D-DIN
| 样式 |
使用场景 |
| 32px Bold |
重要数据展示 |
| 32px Regular |
普通数据展示 |
| 26px Bold |
常规数据展示 |
| 26px Regular |
常规数据展示 |
特殊数字:DS-Digital
| 样式 |
使用场景 |
| 50px Bold |
大屏主数据展示 |
表格字体:Arial
| 样式 |
使用场景 |
| 20px Regular |
表格横纵轴数字 |
2.1.2 后台系统字体规范
中文字体:Noto Sans S Chinese
| 样式 |
使用场景 |
| 18px Bold |
导航、一级标题 |
| 18px Medium |
次要一级标题 |
| 16px Bold |
二级标题 |
| 16px Medium |
次要二级标题 |
| 16px Regular |
正文、按钮内部文字等 |
| 16px Light |
次要正文 |
数字字体:D-DIN
| 样式 |
使用场景 |
| 26px Bold |
重要数据展示 |
| 26px Regular |
普通数据展示 |
| 24px Bold |
常规数据展示(小) |
| 24px Regular |
常规数据展示(小) |
LOGO 字体:DOUYUFont
| 样式 |
使用场景 |
| 20px 文字样式 |
页面顶部系统名称 |
表格数字:Arial
| 样式 |
使用场景 |
| 16px Regular |
表格横纵轴数字 |
| 14px Regular |
表格横轴数字(空间有限) |
3. 阴影
3.1 容器与卡片配色
阴影组通过深浅层级叠加形成空间感:外层容器最深,内层卡片次之,边框与高亮文字使用主色或字体色。
3.1.1 外层容器
| 角色 |
色值 |
来源 |
| 页面 / 最外层背景 |
#060E24 |
ZS-004-10 |
| 分栏容器背景 |
#0C1836 |
ZS-004-09 |
3.1.2 卡片(标题 + 操作)
| 角色 |
色值 |
来源 |
| 卡片背景 |
#122347 |
ZS-004-08 |
| 卡片边框 |
#1A2F5A |
ZS-004-07 |
| 卡片阴影(外发光) |
rgba(22, 119, 255, 0.12) |
基于 ZS-002-06 主色蓝 12% 透明度 |
| 标题文字(16px Bold) |
#C5CFE0 |
ZS-004-02(正常字体色) |
| 操作按钮文字 |
#4096FF |
ZS-002-05(标准蓝,链接) |
| 次级操作图标(✏️ / ⋯) |
#6E88B0 |
ZS-004-04(次级字体色) |
3.1.3 卡片新增(占位卡片)
虚线描边的"新增入口"卡片,用于引导用户添加内容。
| 角色 |
色值 |
来源 |
| 卡片背景 |
#0C1836 |
ZS-004-09(与外层同色,营造凹陷感) |
| 虚线边框 |
#4096FF |
ZS-002-05 |
| 加号图标 |
#4096FF |
ZS-002-05 |
3.1.4 阴影投影规则
| 层级 |
阴影值 |
使用场景 |
| 一级阴影(卡片悬浮) |
0 2px 8px rgba(22, 119, 255, 0.12) |
普通卡片 |
| 二级阴影(hover / 强调) |
0 4px 16px rgba(22, 119, 255, 0.24) |
卡片 hover、弹出层 |
| 三级阴影(弹窗 / Modal) |
0 8px 32px rgba(6, 14, 36, 0.6) |
Dialog、Drawer |
4. 圆角
4.1 圆角统一规范
| 元素 |
圆角值 |
说明 |
| 按钮 |
2px |
所有按钮(主按钮 / 次按钮 / 文本按钮)统一使用 |
| 卡片 |
4px |
内容卡片、标题+操作卡片、卡片新增占位 |
| 页面分栏框 |
4px |
外层容器、分栏区域 |
| 输入框 / 选择器 |
2px |
与按钮一致,保持表单内对齐 |
| Tag / Badge |
2px |
与按钮一致 |
| Modal / Drawer |
4px |
与卡片一致 |
4.2 按钮配色(圆角 2px)
4.2.1 主按钮(Primary)
| 角色 |
色值 |
来源 |
| 背景 |
#1677FF |
ZS-002-06 |
| 文字 |
#FFFFFF |
— |
| Hover 背景 |
#0958D9 |
ZS-002-07 |
| Active 背景 |
#003EB3 |
ZS-002-08 |
| 禁用背景 |
#4A6491 |
ZS-004-05 |
| 禁用文字 |
#6E88B0 |
ZS-004-04 |
4.2.2 次按钮(Outline / Default)
| 角色 |
色值 |
来源 |
| 背景 |
transparent |
— |
| 边框 |
#6E88B0 |
ZS-004-04 |
| 文字 |
#C5CFE0 |
ZS-004-02 |
| Hover 边框 |
#4096FF |
ZS-002-05 |
| Hover 文字 |
#4096FF |
ZS-002-05 |
| Active 边框 |
#1677FF |
ZS-002-06 |
4.3 卡片与分栏(圆角 4px)
| 角色 |
色值 |
来源 |
| 卡片背景 |
#122347 |
ZS-004-08 |
| 卡片边框 |
#1A2F5A |
ZS-004-07 |
| 分栏框背景 |
#0C1836 |
ZS-004-09 |
| 分栏框边框 |
#1A2F5A |
ZS-004-07 |
5. 按钮
全部圆角 2px,文字字号 14px(小尺寸)/ 14px(正常尺寸),字体 Noto Sans S Chinese Regular。
5.1 按钮尺寸
| 规格 |
高度 |
内边距 |
使用场景 |
| 小 |
28px |
0 10px |
空间小的板块内部,如表格中、卡片标题等 |
| 正常 |
32px |
0 14px |
默认尺寸,所有常用按钮 |
5.2 按钮类型与配色
5.2.1 主按钮(Primary)
一个操作区域只能有一个主按钮。
| 状态 |
背景 |
边框 |
文字 |
| 默认 |
#1677FF (ZS-002-06) |
— |
#FFFFFF |
| Hover |
#0958D9 (ZS-002-07) |
— |
#FFFFFF |
| Active |
#003EB3 (ZS-002-08) |
— |
#FFFFFF |
| 失效 |
rgba(22, 119, 255, 0.35) |
— |
#6E88B0 (ZS-004-04) |
5.2.2 默认按钮(Default / Outline)
用于"取消 / 返回"等次要操作,与主按钮成对出现时主按钮在右。
| 状态 |
背景 |
边框 |
文字 |
| 默认 |
transparent |
#6E88B0 (ZS-004-04) |
#C5CFE0 (ZS-004-02) |
| Hover |
rgba(22, 119, 255, 0.08) |
#4096FF (ZS-002-05) |
#4096FF (ZS-002-05) |
| Active |
rgba(22, 119, 255, 0.16) |
#1677FF (ZS-002-06) |
#1677FF (ZS-002-06) |
| 失效 |
transparent |
#4A6491 (ZS-004-05) |
#4A6491 (ZS-004-05) |
5.2.3 文本按钮(Text)
用于表格操作、文件下载等。无背景与边框,靠文字色识别。
| 状态 |
文字 |
装饰 |
| 默认 |
#4096FF (ZS-002-05) |
无下划线 |
| Hover |
#1677FF (ZS-002-06) |
显示下划线(与文字同色) |
| Active |
#0958D9 (ZS-002-07) |
下划线 |
| 失效 |
#4A6491 (ZS-004-05) |
无装饰 |
5.2.4 图标按钮(Icon-only)
用于增强辨识度或节省空间。仅图标,无文字。
| 变体 |
背景 |
图标颜色 |
| 主色(常用) |
#1677FF (ZS-002-06) |
#FFFFFF |
| 主色 Hover |
#0958D9 (ZS-002-07) |
#FFFFFF |
| 危险(删除等) |
#F5222D (ZS-001-06) |
#FFFFFF |
| 危险 Hover |
#CF1322 (ZS-001-07) |
#FFFFFF |
| 透明(仅图标) |
transparent |
#6E88B0 (ZS-004-04) → hover #4096FF (ZS-002-05) |
5.3 按钮组合
5.3.1 文字 + 下拉按钮(含 ▾)
两种填充:
| 形态 |
配色规则 |
| 默认(Outline) |
沿用 §5.2.2 默认按钮,箭头 ▾ 与文字同色 #C5CFE0 |
| 主色(Filled) |
沿用 §5.2.1 主按钮,箭头 ▾ 同步白色 #FFFFFF |
5.3.2 图标 + 文字按钮(如 + 正常)
| 形态 |
配色规则 |
| 默认(Outline) |
沿用 §5.2.2,左侧图标颜色与文字一致 #C5CFE0 |
| 主色(Filled) |
沿用 §5.2.1,左侧图标与文字一致 #FFFFFF |
5.3.3 文本按钮 + 图标("更多 »"、"展开 ⌄"、"下一页 »"、"« 上一页")
| 角色 |
色值 |
| 文字 + 图标(默认) |
#4096FF (ZS-002-05) |
| 文字 + 图标(Hover) |
#1677FF (ZS-002-06) |
| 失效 |
#4A6491 (ZS-004-05) |
图标可在文字前或后;多个文本按钮排成一行时,间距 16px,无分隔符。
5.3.4 主按钮 + 默认按钮组合(如"确定 / 取消 / 返回")
- 排列顺序:默认按钮在左,主按钮在右(最右侧为主操作)
- 按钮间距:
8px
- 示例:
[ 返回 ] [ 取消 ] [ 确定 ]
- 配色:主按钮沿用 §5.2.1,其余沿用 §5.2.2
5.4 其他按钮
5.4.1 悬浮状态(Floating)
用于 Banner / 登录 / 视觉冲击强等展示场景。配色与主按钮一致,叠加阴影抬升。
| 状态 |
阴影 |
| 默认 |
0 2px 8px rgba(22, 119, 255, 0.12)(§3.1.4 一级阴影) |
| Hover |
0 4px 16px rgba(22, 119, 255, 0.24)(§3.1.4 二级阴影) |
| Active |
阴影消失,按下感 |
5.4.2 加载中(Loading)
用于异步操作等待反馈。点击瞬间将按钮锁定,文字前显示旋转图标。
| 角色 |
色值 |
| 背景 |
#1677FF (ZS-002-06) |
| 文字 |
#FFFFFF |
| 加载图标 |
#FFFFFF,旋转动画 1.2s linear infinite |
| 不可点击 |
鼠标 cursor: not-allowed |
与失效态的区别:失效是"不可操作",加载是"操作进行中"——保留品牌主色,只是不可再次触发。
6. 分割线
统一线宽 1px,颜色全部从 ZS-004 深蓝系取色,与深色背景保持低对比度但仍可识别。
6.1 水平分割线
水平分割线常用来对不同元素内容进行分割。
| 类型 |
色值 |
来源 |
样式 |
使用场景 |
| 实线(默认) |
#4A6491 |
ZS-004-05 |
border-top: 1px solid |
模块间、列表项间分割 |
| 实线(强调) |
#6E88B0 |
ZS-004-04 |
border-top: 1px solid |
主区块标题下方、卡片头部分割 |
| 实线(弱化) |
#2D4473 |
ZS-004-06 |
border-top: 1px solid |
卡片内部、密集列表分隔 |
| 虚线 |
#4A6491 |
ZS-004-05 |
border-top: 1px dashed |
次级 / 层级内分割,提示"非主结构" |
| 主色实线(高亮) |
#1677FF |
ZS-002-06 |
border-top: 1px solid |
强调分隔,少量使用(如当前激活区块底边) |
6.2 垂直分割线
垂直分割线常用来做行内分割(如导航项之间、状态指示之间、表格列头之间)。
| 类型 |
色值 |
来源 |
样式 |
使用场景 |
| 实线(默认) |
#4A6491 |
ZS-004-05 |
border-left: 1px solid |
行内 inline 元素分割(面包屑、操作按钮组) |
| 实线(弱化) |
#2D4473 |
ZS-004-06 |
border-left: 1px solid |
表格列分割、紧凑布局 |
| 虚线 |
#4A6491 |
ZS-004-05 |
border-left: 1px dashed |
多列对齐辅助、辅助参考线 |
6.3 规格与间距
| 规则 |
取值 |
| 线宽 |
1px |
| 水平分割线与上下元素间距 |
≥ 8px(紧凑布局可用 4px) |
| 垂直分割线与左右元素间距 |
≥ 8px(行内紧凑 4px) |
| 垂直分割线高度 |
与文字行高一致,约 12–14px(也可全高跟随容器) |
| 透明度 |
必要时叠 opacity: 0.6 实现"更弱"层级 |
6.4 CSS 参考
7. 间距
全站以 8px (0.5rem) 为对照基准单位,划分"密 / 疏"两个层次。所有间距取值均来自下列阶梯,禁止使用非阶梯值(如 5px、13px)。
7.1 间距阶梯
| 阶 |
px |
rem |
分组 |
典型场景 |
| 1 |
4px |
0.25rem |
密 |
图标与文字间距、Tag 内边距、紧凑徽标 |
| 2 |
8px |
0.5rem |
密 |
行内元素相邻、按钮组间距、表单 label 与控件 |
| 3 |
12px |
0.75rem |
密 |
表单项垂直间距、列表项内边距 |
| 4 |
16px |
1rem |
密 |
卡片内容内边距、模块内分隔 |
| 5 |
24px |
1.5rem |
疏 |
模块之间、Section 内边距 |
| 6 |
32px |
2rem |
疏 |
卡片之间、表单组之间 |
| 7 |
40px |
2.5rem |
疏 |
主区块之间、页面 Header / Footer 内边距 |
| 8 |
56px |
3.5rem |
疏 |
页面段落级隔断、Banner 区域 |
"密"对应紧凑信息密度(表格、表单、卡片内部);"疏"对应视觉呼吸(模块之间、页面整体留白)。16px 是"密"的上限,24px 是"疏"的下限,两者之间不应再插入自定义值。
7.2 使用原则
- 同层级一致:同一布局层级内的间距必须使用同一阶值;多种取值会破坏节奏。
- 就近取阶:相邻区块的间距尽量从相邻阶梯取值(如
16px → 24px),跨越过多阶(如 8px → 56px)会让视觉断裂。
- 密疏不混用:一个组件内部全部用"密",外部用"疏",避免内/外间距颠倒。
- 优先 8 的倍数:除最小阶
4px 外,所有阶皆为 8 的倍数,方便 4/8 网格对齐。
- 响应式按比例衰减:移动端可整体降一阶(如
24px → 16px),但仍在阶梯内。
7.3 CSS Token 建议
7.4 与已有规范的对齐
| 已有规则 |
对应阶 |
| §4.x 卡片圆角内边距 |
--spacing-4 (16px) |
§5.3.4 主+默认按钮组合间距 8px |
--spacing-2 |
§5.3.3 文本按钮间距 16px |
--spacing-4 |
§6.3 分割线与上下元素间距 ≥ 8px |
--spacing-2 起 |
8. 导航组件
适用于"大屏后台 / 控制台"类深蓝主题界面。整体结构 = 顶部导航 + 左侧分级菜单 + 多级下拉。所有颜色取自 ZS-002 / ZS-004 两个色系。
8.1 整体结构
8.2.1 规格
| 属性 |
取值 |
| 高度 |
56px |
| 左右 padding |
--spacing-4 (16px) |
| 背景 |
渐变 linear-gradient(180deg, #122347 0%, #0C1836 100%)(ZS-004-08 → ZS-004-09) |
| 底边 |
border-bottom: 1px solid #1A2F5A (ZS-004-07) |
| 阴影 |
0 2px 8px rgba(6, 14, 36, 0.6)(§3.1.4 一级阴影变体) |
| 文字基线 |
Noto Sans S Chinese,垂直居中 |
8.2.2 二级菜单(左侧 Tabs,小号 14px)
| 状态 |
文字 |
背景 |
装饰 |
| 默认 |
#6E88B0 (ZS-004-04) |
transparent |
— |
| Hover |
#C5CFE0 (ZS-004-02) |
rgba(22,119,255,0.08) |
— |
| 激活 |
#4096FF (ZS-002-05) |
transparent |
底部 2px solid #4096FF 高亮线 |
- 字号
14px Regular,间距 --spacing-3 (12px)
- 与最左侧的"折叠菜单 ≡"图标间距
--spacing-4 (16px)
8.2.3 一级菜单(中部主导航,16px 带切角装饰)
| 状态 |
文字 |
装饰 |
| 默认 |
#C5CFE0 (ZS-004-02) |
两端切角斜边,border: 1px solid #1A2F5A |
| Hover |
#4096FF (ZS-002-05) |
切角线变 #4096FF |
| 激活 |
#FFFFFF |
切角线 #1677FF (ZS-002-06),背景 rgba(22,119,255,0.16) |
- 字号
16px Medium
- 切角推荐
clip-path: polygon(8px 0, calc(100% - 8px) 0, 100% 100%, 0 100%)
- 项间距
--spacing-2 (8px)
8.2.4 系统标题(XXXX系统)
- 字号
20px Bold,颜色 #FFFFFF
- 字体
DOUYUFont 或 Noto Sans Medium
- 左右装饰用主色蓝渐变线条:
linear-gradient(90deg, transparent 0%, #1677FF 50%, transparent 100%),线宽 1px
- 居中相对 Header 几何中心,左右最少留
--spacing-6 (32px) 间距给一级菜单
8.2.5 右侧工具区(时间 / 图标 / 返回首页)
| 元素 |
字号/尺寸 |
颜色 |
| 更新时间文字 |
12px Regular |
#6E88B0 (ZS-004-04) |
| 时间数值(数字) |
12px D-DIN Regular |
#C5CFE0 (ZS-004-02) |
| 工具图标(刷新/上/家) |
16px |
#6E88B0,hover → #4096FF |
| 返回首页文字 |
14px Regular |
#C5CFE0,hover → #4096FF |
- 元素间距
--spacing-3 (12px)
- 整体右 padding
--spacing-4 (16px)
8.3 侧边栏(三级菜单)
8.3.1 规格
| 属性 |
取值 |
| 宽度 |
64px(仅图标 / 竖排文字) |
| 背景 |
#0C1836 (ZS-004-09) |
| 右边界 |
border-right: 1px solid #1A2F5A (ZS-004-07) |
| 项高度 |
64px(与宽度一致,呈正方形) |
| 项内间距 |
上下 --spacing-3 (12px) |
| 字号 |
14px Medium,竖排(writing-mode: vertical-rl)或正常排两行 |
8.3.2 状态配色
| 状态 |
背景 |
文字 |
左侧指示条 |
| 默认 |
transparent |
#6E88B0 (ZS-004-04) |
无 |
| Hover |
rgba(22,119,255,0.08) |
#C5CFE0 (ZS-004-02) |
无 |
| 激活 |
#1A2F5A (ZS-004-07) |
#FFFFFF |
左侧 2px solid #1677FF (ZS-002-06) |
8.4 下拉菜单面板(四级 / 五级 / 六级)
8.4.1 面板规格
| 属性 |
取值 |
| 背景 |
#122347 (ZS-004-08) |
| 边框 |
1px solid #1A2F5A (ZS-004-07) |
| 阴影 |
0 4px 16px rgba(6, 14, 36, 0.6)(§3.1.4 三级阴影变体) |
| 圆角 |
4px |
| 内边距 |
上下 --spacing-2 (8px) |
| 最小宽度 |
150px |
8.4.2 菜单项规格
| 层级 |
缩进(padding-left) |
字号 |
展开图标 |
前缀 |
| 四级菜单 |
--spacing-3 (12px) |
14px Medium |
▾ / ▸ |
— |
| 五级菜单 |
--spacing-5 (24px) |
14px Regular |
▾ / ▸ |
— |
| 六级菜单 |
--spacing-6 (32px) |
14px Regular |
— |
- 短横线 |
- 行高
32px
- 项之间无分割线(靠缩进与图标区分层级)
8.4.3 菜单项配色
| 状态 |
背景 |
文字 |
展开图标 |
| 默认 |
transparent |
#C5CFE0 (ZS-004-02) |
#6E88B0 (ZS-004-04) |
| Hover |
rgba(22,119,255,0.08) |
#4096FF (ZS-002-05) |
#4096FF |
| 激活(当前选中) |
rgba(22,119,255,0.16) |
#4096FF (ZS-002-05) |
#1677FF (ZS-002-06) |
| 父级(含激活子项) |
transparent |
#FFFFFF |
#1677FF |
| 失效 |
transparent |
#4A6491 (ZS-004-05) |
#4A6491 |
8.5 交互与动画
| 行为 |
动效 |
| 下拉面板展开 |
transform-origin: top; transform: scaleY(0.95) → scaleY(1); opacity 0 → 1,200ms ease-out |
| 展开图标旋转 |
transform: rotate(0 → 90deg),200ms ease-out |
| Hover 背景过渡 |
background-color 120ms ease-out |
| 激活底部高亮线(二级菜单) |
width 0% → 100%,240ms ease-out |
8.6 间距引用
| 位置 |
取值 |
| Header 内部元素间距 |
--spacing-2 / --spacing-3 |
| Header 与下方内容间距 |
0(贴合,靠底边线与阴影区分) |
| 侧边栏与下拉面板间距 |
--spacing-1 (4px) |
| 下拉面板与触发元素间距 |
--spacing-1 (4px) |
| 同级菜单项之间 |
0(紧贴排列,靠 hover/active 背景区分) |
9. 锚点与页签
对应"4.2 导航组件-锚点"。三类组件共用主色蓝指示当前位置:页签 / 锚点 / 回到顶部。
视觉参考:标签横向 / 标签纵向 / 锚点的三联图见设计稿「选项卡.png」——三种形态在本节均已规范化(§9.1 = 标签横纵向、§9.2 = 锚点)。
9.1 页签(Tabs)
9.1.1 横向页签(下划线-横向)
| 状态 |
文字 |
下划线 |
| 默认 |
#C5CFE0 (ZS-004-02) |
无 |
| Hover |
#4096FF (ZS-002-05) |
无 |
| 激活 |
#4096FF (ZS-002-05) |
2px solid #4096FF,宽度与文字齐 |
| 失效 |
#4A6491 (ZS-004-05) |
无 |
- 字号
14px Medium
- 项间距
--spacing-5 (24px)
- 下划线与文字底部间距
--spacing-2 (8px)
- 容器底边可叠一条
1px solid #1A2F5A (ZS-004-07) 作为基线,激活态的高亮线压在上面
9.1.2 纵向页签(下划线-纵向)
| 状态 |
文字 |
右侧指示线 |
| 默认 |
#C5CFE0 (ZS-004-02) |
无 |
| Hover |
#4096FF (ZS-002-05) |
无 |
| 激活 |
#4096FF (ZS-002-05) |
右侧 2px solid #4096FF,高度与文字齐 |
| 失效 |
#4A6491 (ZS-004-05) |
无 |
- 字号
14px Medium,项高度 32px
- 项间距
--spacing-2 (8px)
- 容器右边可叠一条
1px solid #1A2F5A 基线,激活指示线压在上面
9.2 锚点(Anchor)
用于长内容页(如详情页、文档页)的章节快速跳转。
9.2.1 结构
9.2.2 规格
| 属性 |
取值 |
| 容器背景 |
#122347 (ZS-004-08) 或 transparent(嵌入页面侧栏时) |
| 左侧基线 |
1px solid #1A2F5A (ZS-004-07) 通栏 |
| 项高度 |
32px |
| 一级项左 padding |
--spacing-3 (12px) |
| 二级项左 padding |
--spacing-5 (24px) |
| 项间距 |
0(贴合排列) |
| 字号 |
14px Regular |
9.2.3 状态配色
| 状态 |
一级文字 |
二级文字 |
左侧指示条 |
| 默认 |
#C5CFE0 (ZS-004-02) |
#6E88B0 (ZS-004-04) |
无 |
| Hover |
#4096FF (ZS-002-05) |
#4096FF (ZS-002-05) |
无 |
| 激活 |
#4096FF (ZS-002-05) |
— |
左侧 2px solid #4096FF,覆盖容器基线 |
| 父级(含激活子项) |
#FFFFFF |
— |
— |
- 激活态指示条与基线重合,宽
2px,色压主色蓝 #4096FF
- 二级项不单独支持激活态:当二级被点中时,其父级一级显示激活态,左侧指示条按父级位置渲染
9.2.4 滚动同步
| 行为 |
规则 |
| 页面滚动 |
监听锚点对应区块进入视口的相对位置,自动切换激活态 |
| 点击锚点 |
behavior: smooth 滚动到目标,激活指示条 top 过渡 200ms ease-out |
| 边界处理 |
滚动到页面顶部 → 第一个锚点激活;到页尾 → 最后一个锚点激活 |
9.3 回到顶部(BackToTop)
固定在视口右下角的悬浮按钮,向上滚动到页面顶部。
9.3.1 规格
| 属性 |
取值 |
| 形状 |
圆形 40px × 40px(border-radius: 50%) |
| 图标 |
↑ 上箭头,16px,#FFFFFF |
| 距视口右边 |
--spacing-5 (24px) |
| 距视口下边 |
--spacing-6 (32px) |
| 出现时机 |
页面 scrollTop > 200px 时淡入;回到顶部后淡出 |
| 淡入/淡出 |
opacity 0 → 1 / 1 → 0,200ms ease-out |
9.3.2 状态配色
| 状态 |
背景 |
阴影 |
图标 |
| 正常(默认) |
#1677FF (ZS-002-06) |
0 2px 8px rgba(22,119,255,0.12) (§3.1.4 一级阴影) |
#FFFFFF |
| 悬停(Hover) |
#0958D9 (ZS-002-07) |
0 4px 16px rgba(22,119,255,0.24) (§3.1.4 二级阴影) |
#FFFFFF |
| 点按(Active) |
#003EB3 (ZS-002-08) |
阴影消失,按下感 |
#FFFFFF |
| 失效 / 不显示 |
— |
— |
整体 opacity: 0,pointer-events: none |
9.3.3 悬停 Tooltip
Hover 状态下方显示 回到顶部 提示气泡:
| 属性 |
取值 |
| 文字 |
回到顶部,12px Regular |
| 文字颜色 |
#C5CFE0 (ZS-004-02) |
| 背景 |
#1677FF (ZS-002-06) |
| 圆角 |
2px |
| 内边距 |
上下 4px,左右 --spacing-2 (8px) |
| 与按钮间距 |
--spacing-2 (8px) |
| 出现时机 |
Hover 进入 300ms 后显示,离开立即消失 |
9.4 三者的差异与选用
| 组件 |
主要用途 |
视觉特征 |
| 页签 |
同层级内容切换(多 Tab 互斥) |
文字 + 下划线(横/纵) |
| 锚点 |
长页面内章节跳转 |
文字 + 左侧指示条 + 层级缩进 |
| 回到顶部 |
长页面快速返回起点 |
圆形悬浮按钮 + 上箭头 |
10. 步骤条
对应「4.7 导航组件-步骤条」。用于多步流程的进度指引,按布局方向分横向与纵向两类,按使用场景分弹窗步骤条、页面步骤条、纵向步骤条三种。所有颜色取自 ZS-002 主色蓝与 ZS-004 深蓝系。
10.1 步骤节点(公共)
每个步骤由「指示圆 + 标题(可选描述)」组成。指示圆按状态切换三种形态:
| 状态 |
圆形外观 |
圆内符号 |
来源 |
| 已完成(Completed) |
描边圆,2px solid #1677FF,背景 transparent |
✓(对勾,#1677FF) |
ZS-002-06 |
| 当前(Current / Active) |
实心圆,背景 #1677FF |
步骤数字,#FFFFFF |
ZS-002-06 / 白 |
| 未开始(Upcoming) |
描边圆,1px solid #4A6491,背景 transparent |
步骤数字,#6E88B0 |
ZS-004-05 / ZS-004-04 |
| 失效(Disabled) |
描边圆,1px solid #2D4473,背景 transparent |
步骤数字,#4A6491 |
ZS-004-06 / ZS-004-05 |
指示圆规格:
| 属性 |
取值 |
| 直径 |
24px |
| 圆内字号 |
12px Bold(D-DIN 或 Noto Sans Bold) |
| 对勾图标 |
12px,居中 |
| 字体水平居中 |
数字 / 对勾 在圆几何中心 |
标题与描述文字:
| 元素 |
状态 |
字号 / 颜色 |
来源 |
| 标题 |
已完成 / 当前 |
14px Medium,#FFFFFF |
— |
| 标题 |
未开始 |
14px Medium,#6E88B0 |
ZS-004-04 |
| 标题 |
失效 |
14px Medium,#4A6491 |
ZS-004-05 |
| 描述 |
已完成 / 当前 |
12px Regular,#C5CFE0 |
ZS-004-02 |
| 描述 |
未开始 / 失效 |
12px Regular,#6E88B0 → #4A6491 |
ZS-004-04 → ZS-004-05 |
连接线(步骤之间):
| 类型 |
色值 |
来源 |
样式 |
| 已完成段(前一节点已完成) |
#1677FF |
ZS-002-06 |
1px dashed(弹窗)/ 1px solid(页面) |
| 未完成段 |
#4A6491 |
ZS-004-05 |
1px dashed |
连接线在指示圆两侧水平居中(横向)或正下方垂直(纵向);线两端与圆外缘留 --spacing-1 (4px) 间隙,避免线穿圆。
10.2 弹窗步骤条(横向 · 描边圆为主)
用于 Modal / Drawer 内引导多步操作的紧凑步骤条。指示圆完成态用描边 + 对勾而非实心,避免在弹窗背景上过于抢眼。
10.2.1 布局
10.2.2 规格
| 属性 |
取值 |
| 容器水平 padding |
--spacing-5 (24px) |
| 指示圆 → 标题间距 |
--spacing-2 (8px) |
| 标题 → 描述间距 |
--spacing-1 (4px) |
| 节点之间水平间距 |
节点间距自适应等分;连接线占用中间空间 |
| 连接线 |
1px dashed,已完成段 #1677FF,未完成段 #4A6491 |
| 文字对齐 |
标题、描述居中对齐于指示圆下方 |
10.2.3 两种变体
| 变体 |
适用 |
| 仅标题 |
步骤含义已经清晰(如「填写信息 / 确认 / 完成」),节省垂直空间 |
| 标题 + 描述 |
步骤名抽象需要一行小字补充时使用 |
10.3 页面步骤条(横向 · 实心圆 + 自定义首项标题)
用于页面级流程(如「新建集群」类向导)。和弹窗步骤条相比,已完成态指示圆改为实心填充 + 白色对勾,视觉权重更高;首步标题可显示具体名称(如「新建集群」)而非「标题」占位。
10.3.1 布局
10.3.2 与 §10.2 弹窗步骤条的差异
| 维度 |
弹窗步骤条 |
页面步骤条 |
| 完成态圆形 |
描边圆 + 蓝色对勾 |
实心蓝圆 + 白色对勾 |
| 完成段连接线样式 |
1px dashed #1677FF |
1px solid #1677FF |
| 标题文字号 |
14px Medium |
14px Medium(同) |
| 第一项 |
通用「标题」占位 |
可显示具体名称(自定义文案) |
10.3.3 完成态指示圆补充
| 角色 |
色值 |
来源 |
| 已完成圆背景 |
#1677FF |
ZS-002-06 |
| 已完成圆内对勾 |
#FFFFFF |
— |
| 已完成圆边框 |
无(实心) |
— |
10.4 纵向步骤条
用于侧栏 / 详情页内的纵向流程指引。两种变体——「仅标题」与「标题 + 描述」。
10.4.1 布局
10.4.2 规格
| 属性 |
取值 |
| 指示圆 → 标题水平间距 |
--spacing-2 (8px) |
| 节点垂直间距(仅标题) |
--spacing-5 (24px),圆心到圆心 |
| 节点垂直间距(标题 + 描述) |
--spacing-6 (32px),圆心到圆心 |
| 标题 → 描述间距 |
--spacing-1 (4px) |
| 连接线位置 |
上下两个指示圆正下方垂直,居中于圆心 |
| 连接线样式 |
1px dashed,已完成段 #1677FF,未完成段 #4A6491 |
| 文字左对齐 |
标题与描述左对齐,与指示圆右侧对齐基线 |
10.4.3 与横向步骤条共用规则
- 指示圆三态规格沿用 §10.1
- 已完成态默认用描边 + 对勾(与 §10.2 弹窗一致);若纵向步骤条用于页面级主流程,可切换为 §10.3 的实心圆变体
10.5 交互与动画
| 行为 |
动效 |
| 步骤切换(next) |
当前圆 background: transparent → #1677FF,200ms ease-out;同时上一步圆 border-color: #4A6491 → #1677FF,再用 200ms 切换为对勾图标淡入 |
| 步骤切换(prev / 回退) |
反向,未完成态恢复 #4A6491 边框,圆内数字淡入 |
| 连接线高亮 |
完成段 border-color: #4A6491 → #1677FF,240ms ease-out |
| Hover 节点(可点击) |
圆边框色暂时变 #4096FF (ZS-002-05),标题文字 #4096FF,120ms ease-out;不可点击节点(未来步骤)无 hover |
| 点击节点 |
节点必须已完成才能点(回看),否则视为禁用;点击合法节点触发 step:change 事件 |
10.6 状态机与可达性
| 当前步 = N |
节点 i 的状态 |
i < N |
Completed(已完成,可点回看) |
i === N |
Current(当前,不可点) |
i > N |
Upcoming(未开始,不可点) |
i.disabled |
Disabled(被显式禁用,例如条件未满足) |
键盘导航:
Tab 顺序在「已完成」节点之间流转,跳过 Current / Upcoming / Disabled
- 焦点节点圆外加
2px solid #4096FF 焦点环(outline,offset 2px)
屏幕阅读器:
- 指示圆
role="img",aria-label="已完成第 N 步" / "当前第 N 步" / "未开始第 N 步"
- 容器
role="list",节点 role="listitem"
- 当前节点额外
aria-current="step"
10.7 CSS Token 参考
10.8 三种步骤条的选用决策
| 场景 |
选择 |
| Modal / Drawer 内多步表单 |
§10.2 弹窗步骤条(描边圆,紧凑) |
| 页面级向导(独占大区域) |
§10.3 页面步骤条(实心圆,视觉重) |
| 侧栏 / 详情页纵向流程 |
§10.4 纵向步骤条 |
| 步骤数 ≤ 3 且无描述 |
优先「仅标题」变体 |
| 步骤名抽象需补充说明 |
用「标题 + 描述」变体 |
| 步骤数 > 7 |
不推荐用步骤条,改用「锚点」(§9.2)或分页 |
11. 面包屑
对应「4.3 导航组件-面包屑」。用于显示当前位置在整个站点层级中的路径,配合「← 返回」按钮支持逐级回溯。颜色取自 ZS-002 主色蓝与 ZS-004 深蓝系。
11.1 标准形态
容器顶部带一个独立的容器 / 边框包裹:
带「返回」按钮的层级形态(一级到四级):
11.2 规格
| 属性 |
取值 |
| 容器高度 |
40px |
| 容器背景 |
#0C1836 (ZS-004-09) |
| 容器底边 |
1px solid #1A2F5A (ZS-004-07) |
| 容器水平 padding |
--spacing-4 (16px) |
| 字号 |
14px Regular |
| 元素间距(图标 / 文字 / 分隔符之间) |
--spacing-2 (8px) |
「返回」与首段路径之间分隔符 │ |
1px solid #4A6491,高度 14px |
11.3 配色
| 角色 |
色值 |
来源 |
备注 |
| Home 图标 🏠 |
#4096FF |
ZS-002-05 |
默认主色,hover → #1677FF (ZS-002-06) |
| 「← 返回」图标 + 文字 |
#4096FF |
ZS-002-05 |
链接样式,hover 显示下划线 |
| 历史路径文字(可点击) |
#4096FF |
ZS-002-05 |
同链接配色 |
| 当前位置文字(最后一段) |
#FFFFFF |
— |
加粗 14px Medium,不可点击 |
分隔符 / |
#4A6491 |
ZS-004-05 |
静态、不可点 |
分隔符 │(返回按钮与路径之间) |
#4A6491 |
ZS-004-05 |
同上 |
| Hover 路径项 |
#1677FF |
ZS-002-06 |
文字色 + 下划线 |
| 失效路径项(无对应页) |
#4A6491 |
ZS-004-05 |
cursor: not-allowed |
11.4 交互规则
- 点击「← 返回」:逐步向上返回一级(等同浏览器 back)
- 点击文字路径:快速跳回到对应任意上级页面
- 当前位置(最后一段):不响应点击,仅作展示
- 层级建议:尽可能不超过 4 级;超过 4 级会让面包屑过长,应改用侧栏 / 锚点辅助
11.5 与导航的关系
面包屑不替代主导航(§8):
- 主导航 = 「我能去哪些地方」(站点结构)
- 面包屑 = 「我当前在哪里」(路径回溯)
两者并存时,面包屑紧贴页面主内容区顶部,位于主导航下方、页头(§12)上方。
11.6 CSS 参考
12. 页头
对应「4.6 导航组件-分页」上半段示意。用于页面主内容区顶部、面包屑下方,承载页面标题与可选的说明 / Tabs。共有 4 种变体。
12.1 通用规格
| 属性 |
取值 |
| 容器高度 |
56px(仅标题)/ 64px(含 Tabs) |
| 背景 |
#0C1836 (ZS-004-09) |
| 底边 |
1px solid #1A2F5A (ZS-004-07) |
| 水平 padding |
--spacing-5 (24px) |
| 文字基线 |
垂直居中 |
12.2 四种变体
12.2.1 基础页头
只有标题:
| 角色 |
色值 / 字号 |
来源 |
| 标题 |
18px Bold,#FFFFFF |
— |
12.2.2 页头 + 说明
标题后跟一段灰色说明文字:
| 角色 |
色值 / 字号 |
来源 |
| 标题 |
18px Bold,#FFFFFF |
— |
| 说明文字 |
14px Regular,#6E88B0 |
ZS-004-04 |
| 标题 → 说明间距 |
--spacing-3 (12px) |
— |
说明用半角圆括号包裹,颜色与括号一致(不要让括号比文字更醒目)。
12.2.3 页头 + 说明 icon
标题后跟一个可悬停查看说明的图标:
| 角色 |
色值 / 字号 |
来源 |
| 标题 |
18px Bold,#FFFFFF |
— |
说明 icon ⓘ 或 ? |
16px,#6E88B0 |
ZS-004-04 |
| Icon hover |
#4096FF |
ZS-002-05 |
| 标题 → 图标间距 |
--spacing-2 (8px) |
— |
Hover 弹出 Tooltip(沿用 §9.3.3 Tooltip 配色),承载完整说明文字。
12.2.4 分 Tabs 页头
标题位置直接放横向页签(沿用 §9.1.1 横向页签配色),点击切换右侧主内容区:
| 复用规则 |
说明 |
| Tab 配色 |
完全沿用 §9.1.1 横向页签 |
| Tab 字号 |
16px Medium(页头位置比一般 tab 略大) |
| Tab 间距 |
--spacing-5 (24px) |
| 激活态下划线 |
2px solid #4096FF,宽与文字齐 |
12.3 与右侧操作区的组合
页头右侧常承载主操作按钮(「+ 新建」、「导出」等)。规则:
- 按钮组靠右对齐,右 padding 与左 padding 一致 (
--spacing-5)
- 多按钮排列顺序参照 §5.3.4(默认按钮在左、主按钮在右),按钮间距
--spacing-2
- Tabs 页头中右侧操作区与 Tabs 同高居中
13. 分页
对应「4.6 导航组件-分页」下半段。三种形态——正常分页 / 精简分页 / 导航式分页——按页面信息量与可用空间选用。
13.1 正常分页
承载大列表,提供页码、跳转、每页条数选择:
13.1.1 元素配色与规格
| 元素 |
字号 / 色值 |
来源 / 说明 |
| 「共 N 项」总数文字 |
14px Regular,#6E88B0 |
ZS-004-04 |
| 页码按钮(默认) |
14px Regular,#C5CFE0,背景 transparent |
ZS-004-02 |
| 页码按钮(hover) |
#4096FF,背景 rgba(22,119,255,0.08) |
ZS-002-05 |
| 页码按钮(激活/当前页) |
#FFFFFF,背景 #1677FF(实心圆) |
ZS-002-06 |
| 页码按钮(失效) |
#4A6491,背景 transparent |
ZS-004-05 |
左右翻页箭头 < > |
14px,#6E88B0,hover → #4096FF |
ZS-004-04 → ZS-002-05 |
| 翻页箭头失效(首/末页) |
#4A6491 |
ZS-004-05 |
省略号 … |
#6E88B0 |
ZS-004-04,静态展示,不可点 |
每页条数下拉 [10▾] |
沿用 §14.1 输入框规格 |
高度 28px,宽 60px |
| 「前往 N 页」输入框 |
沿用 §14.1 输入框规格 |
高度 28px,宽 48px |
13.1.2 页码按钮规格
| 属性 |
取值 |
| 形状 |
圆形 28px × 28px(border-radius: 50%) |
| 默认背景 |
transparent |
| 当前页背景 |
#1677FF (ZS-002-06),实心圆,白色数字 |
| 字号 |
14px Regular(数字 D-DIN 或 Noto Sans) |
| 项间距 |
--spacing-1 (4px) |
13.1.3 元素间距
| 区段 |
间距 |
| 「共 N 项」→ 翻页区 |
--spacing-4 (16px) |
| 翻页区内(箭头 / 页码) |
--spacing-1 (4px) |
| 翻页区 → 每页下拉 |
--spacing-5 (24px) |
| 每页下拉 → 前往输入 |
--spacing-4 (16px) |
13.2 精简分页
承载弹窗 / 表格紧凑场景,只暴露「当前页 / 总页数」与左右翻页:
13.2.1 规格
| 元素 |
配色 / 备注 |
| 「共 N 项」 |
同 §13.1.1 |
< > 翻页箭头 |
同 §13.1.1 |
[ 1 ] 当前页输入框 |
沿用 §14.1 输入框规格,高 28px,宽 40px,居中文字 |
/ N 总页数 |
14px Regular,#6E88B0 (ZS-004-04) |
| 元素间距 |
--spacing-2 (8px) |
13.2.2 与正常分页的差异
| 维度 |
正常分页 |
精简分页 |
| 页码 |
点击式数字列表 |
输入框 + 总页数文字 |
| 跳转方式 |
点击数字 / 前往输入 |
直接修改输入框 |
| 每页条数 |
暴露下拉 |
不暴露(默认值由调用方决定) |
| 适用 |
列表 / 表格主内容区 |
弹窗、抽屉、卡片内嵌列表 |
13.3 导航式分页
承载长文 / 详情页的「上一篇 / 下一篇」式翻页,只有方向,不暴露页码:
13.3.1 规格
| 元素 |
配色 / 备注 |
| 「下一页」/「上一页」文字 + 箭头 |
14px Regular,#4096FF (ZS-002-05) |
| Hover |
#1677FF (ZS-002-06) + 下划线 |
| 失效(首/末篇) |
#4A6491 (ZS-004-05),cursor: not-allowed |
| 箭头位置 |
下一页 »(箭头在后)/ « 上一页(箭头在前) |
| 文字 → 箭头间距 |
--spacing-2 (8px) |
| 两个按钮纵向排列时项间距 |
--spacing-3 (12px) |
13.4 三种分页的选用决策
| 场景 |
选择 |
| 后台列表 / 表格 |
§13.1 正常分页 |
| Modal / Drawer 内嵌列表 |
§13.2 精简分页 |
| 详情页前后翻 |
§13.3 导航式分页 |
| 列表少于 1 页(项数 ≤ pageSize) |
不显示分页 |
| 项数明确但页码可能很多(>50 页) |
用正常分页 + 隐藏中间页码(... 省略) |
14. 输入框(搜索框)
对应设计稿「输入框.png」。按使用场景分三类:基本搜索框 / 后台系统搜索框 / 页面头部搜索框。配色全部从 ZS-002 主色蓝与 ZS-004 深蓝系取。
14.1 公共规格
所有搜索框共用同一套尺寸 / 边框规格:
| 属性 |
默认(正常) |
小号 |
| 高度 |
32px |
28px |
| 水平 padding |
--spacing-3 (12px) |
--spacing-2 (8px) |
| 圆角 |
2px(§4.1) |
2px |
| 字号 |
14px Regular |
14px Regular |
| 文字色 |
#C5CFE0 (ZS-004-02) |
同 |
| 占位符色 |
#6E88B0 (ZS-004-04) |
同 |
| 背景 |
#0C1836 (ZS-004-09) |
同 |
14.1.1 边框状态
| 状态 |
边框 |
来源 |
| 默认 |
1px solid #1A2F5A |
ZS-004-07 |
| Hover |
1px solid #4096FF |
ZS-002-05 |
| Focus |
1px solid #1677FF + 外发光 0 0 0 2px rgba(22,119,255,0.16) |
ZS-002-06 |
| 失效 |
1px solid #2D4473,背景 rgba(22,119,255,0.04) |
ZS-004-06 |
| 错误 |
1px solid #F5222D + 外发光 0 0 0 2px rgba(245,34,45,0.16) |
ZS-001-06 |
14.2 基本搜索框
14.2.1 基础搜索框
输入框尾部带 🔍 图标,回车或点击图标触发搜索:
| 角色 |
色值 / 规格 |
来源 |
| 搜索图标 🔍 |
16px,#6E88B0 |
ZS-004-04 |
| 图标 hover |
#4096FF |
ZS-002-05 |
| 图标 → 输入边缘间距 |
--spacing-2 (8px) |
— |
14.2.2 分类搜索框(带前缀下拉)
输入框左侧拼一个分类下拉,常用于「按协议搜 IP」等场景:
| 角色 |
色值 / 规格 |
备注 |
| 前缀下拉宽度 |
auto,最小 72px |
内容自适应 |
| 前缀下拉与输入框 |
共用同一组边框,中间无缝(公用一条 1px #1A2F5A 分隔) |
视为一体控件 |
前缀下拉箭头 ▾ |
12px,#6E88B0 |
hover → #4096FF |
| 整体 focus 行为 |
焦点落到输入框时,前缀下拉的边框也同步高亮 |
— |
14.3 后台系统常用搜索框
输入框 + 紧贴右侧的实心蓝色搜索按钮,常用于后台主内容区列表筛选:
14.3.1 规格
| 元素 |
色值 / 规格 |
来源 |
| 左侧搜索图标 🔍 |
16px,#6E88B0 |
ZS-004-04 |
| 图标 → 文字间距 |
--spacing-2 (8px) |
— |
| 输入框右边框 |
无(与按钮无缝拼接) |
— |
| 按钮 |
沿用 §5.2.1 主按钮,圆角 2px,文字 搜索 |
— |
| 按钮高度 |
与输入框一致 32px |
— |
| 按钮左侧 |
与输入框紧贴,无间距 |
— |
14.4 页面头部搜索框
页头位置的搜索控件,支持四种扩展:单行 / 高级搜索 / 历史记录 / 输入联想。
14.4.1 单行(最简)
规格同 §14.3,仅省略左侧 🔍 图标,让输入文字占满。
14.4.2 含高级搜索切换
右侧叠加一个文字按钮「高级搜索 ▾」,展开后显示模式选项:
| 元素 |
色值 / 规格 |
来源 |
| 「高级搜索 ▾」文字按钮 |
14px Regular,#4096FF,hover #1677FF |
ZS-002-05 → ZS-002-06 |
| 「高级搜索」与「搜索」按钮间距 |
--spacing-3 (12px) |
— |
| 单选项「模糊匹配 / 精准匹配」 |
沿用通用 Radio 配色:未选 1px solid #6E88B0,已选实心 #1677FF |
— |
| 单选项 → 搜索框纵向间距 |
--spacing-2 (8px) |
— |
14.4.3 含历史记录
输入框下方显示最近搜索词列表,点击直接用该词搜索:
| 元素 |
色值 / 规格 |
来源 |
| 历史记录文字 |
12px Regular,#4096FF |
ZS-002-05 |
项间分隔符(顿号 、) |
#4A6491 |
ZS-004-05(与文字色不同,弱化分隔) |
| 历史项 hover |
#1677FF + 下划线 |
ZS-002-06 |
| 历史区与搜索框纵向间距 |
--spacing-2 (8px) |
— |
14.4.4 含输入联想下拉
用户输入时,下方弹出联想词面板:
面板规格
| 属性 |
取值 |
| 背景 |
#122347 (ZS-004-08) |
| 边框 |
1px solid #1A2F5A (ZS-004-07) |
| 阴影 |
0 4px 16px rgba(6, 14, 36, 0.6)(§3.1.4 三级阴影变体) |
| 圆角 |
2px(与输入框一致) |
| 项高度 |
36px |
| 项水平 padding |
--spacing-3 (12px) |
| 项字号 |
14px Regular,#C5CFE0 (ZS-004-02) |
| 面板宽度 |
与输入框等宽(不含右侧按钮) |
| 面板与输入框纵向间距 |
--spacing-1 (4px) |
项状态
| 状态 |
背景 |
文字 |
| 默认 |
transparent |
#C5CFE0 |
| Hover(鼠标 / 键盘焦点) |
rgba(22,119,255,0.16) 或 #1A2F5A (ZS-004-07) |
#FFFFFF |
| 已点击(点选后回填输入框) |
— |
— |
键盘导航
↑ / ↓ 在联想词之间移动焦点(焦点项视觉等价于 Hover)
Enter 选中焦点项并回填输入框 + 触发搜索
Esc 关闭面板,焦点回到输入框
14.4.5 联想下拉 + 历史记录的关系
- 未输入时:可显示历史记录(§14.4.3 横向展开形态)
- 开始输入时:历史记录被联想下拉取代,不要并存
- 清空输入框:回到历史记录显示
14.5 三种搜索框的选用决策
| 场景 |
选择 |
| 表单内 / 卡片内的辅助搜索 |
§14.2.1 基础搜索框(图标内嵌) |
| 需要按类型 / 协议过滤的搜索 |
§14.2.2 分类搜索框(带前缀下拉) |
| 后台列表 / 表格顶部筛选 |
§14.3 后台搜索框(输入 + 实心按钮) |
| 页面头部全局搜索 |
§14.4 页面头部搜索框(按需开启高级 / 历史 / 联想) |
14.6 CSS Token 参考
15. 选择器(Select / Multi-Select / Cascader)
对应设计稿「多项选择.png」。覆盖多项选择与多项带搜索两种主要变体(基础单选选择器同规格,仅触发器不渲染 Tag、面板项不带复选框;级联选择器原则相同,差异在面板分栏横向铺开)。配色全部从 §1.1.3 渐蓝系(ZS-002)与 §1.1.5 深蓝系(ZS-004)取,与 §14 搜索框完全对齐。
15.1 公共规格
15.1.1 触发器(Trigger)
触发器即「请选择 ▾」或「已选 Tag … ▾」那一行。尺寸、边框、状态机与 §14.1 输入框完全对齐:
| 属性 |
取值 |
来源 |
| 高度 |
32px |
§14.1 |
| 圆角 |
2px |
§4.1 |
| 水平 padding |
--spacing-3 (12px) |
§7.1 |
| 背景 |
#0C1836 (ZS-004-09) |
— |
| 边框 |
1px solid #1A2F5A (ZS-004-07) |
— |
| 占位文字 "请选择" |
14px Regular,#6E88B0 (ZS-004-04) |
— |
右侧箭头 ▾ |
12px,#6E88B0,hover #4096FF |
ZS-002-05 |
边框状态机(默认 / hover / focus / 失效 / 错误)直接复用 §14.1.1。
15.1.2 下拉面板(Panel)
面板沿用 §14.4.4 联想下拉的容器规格,仅项内容不同:
| 属性 |
取值 |
| 背景 |
#122347 (ZS-004-08) |
| 边框 |
1px solid #1A2F5A (ZS-004-07) |
| 阴影 |
0 4px 16px rgba(6, 14, 36, 0.6)(§3.1.4 三级阴影) |
| 圆角 |
2px |
| 项高度 |
36px |
| 项水平 padding |
--spacing-3 (12px) |
| 项字号 |
14px Regular,#C5CFE0 (ZS-004-02) |
| 面板宽度 |
与触发器等宽(搜索框、底部按钮均内嵌等宽) |
| 面板与触发器纵向间距 |
--spacing-1 (4px) |
15.1.3 项状态
| 状态 |
背景 |
文字 |
| 默认 |
transparent |
#C5CFE0 (ZS-004-02) |
| Hover / 键盘焦点 |
rgba(22,119,255,0.16) 或 #1A2F5A |
#FFFFFF |
| 已选中 |
transparent(依赖左侧复选框示态,不改行底色) |
#FFFFFF |
| 禁用 |
transparent |
#4A6491 (ZS-004-05) |
点击行的任意位置等价于点击复选框(命中区 = 整行)。
15.2 多项选择
触发器内渲染已选 Tag 列表而不是单行文字;面板项左侧带复选框,多选不关闭面板。
15.2.1 已选 Tag
触发器内每个已选项渲染为一颗 Tag。实心主色蓝底 + 白字,右侧带关闭按钮 ×。
| 元素 |
色值 / 规格 |
来源 |
| 背景 |
#1677FF (ZS-002-06) |
— |
| 文字 |
12px Regular,#FFFFFF |
— |
| 圆角 |
2px |
— |
| 内边距 |
2px 6px |
— |
| Tag 间距 |
--spacing-1 (4px) |
§7.1 |
关闭按钮 × |
12px,rgba(255,255,255,0.72),hover #FFFFFF |
— |
折叠展示 +N × |
当选中超过宽度可容纳时,把剩余 N 项收成一颗 +N × Tag。Hover 显示 Tooltip 列出剩余项名;点击 × 清空溢出选项 |
— |
15.2.2 复选项
| 元素 |
色值 / 规格 |
来源 |
| 复选框尺寸 |
14px × 14px |
— |
| 复选框圆角 |
2px |
— |
| 未选边框 |
1px solid #6E88B0 (ZS-004-04) |
— |
| 未选背景 |
transparent |
— |
| 已选填充 |
#1677FF (ZS-002-06) |
— |
| 已选勾 ✓ |
#FFFFFF,描边 2px |
— |
| 半选填充 |
#1677FF |
— |
| 半选指示 |
中央横线 width 8px / height 2px / #FFFFFF |
— |
| Hover 边框 |
#4096FF (ZS-002-05) |
— |
| 禁用边框 |
#4A6491 (ZS-004-05) + 背景 rgba(22,119,255,0.04) |
— |
| 复选框 → 文字间距 |
--spacing-2 (8px) |
§7.1 |
15.2.3 全选模式(顶部「全部」节点)
面板首行可选地渲染一个「全部」聚合节点,作用类似一次性勾 / 取消所有项:
| 子状态 |
复选框外观 |
触发动作 |
| 一个都没选 |
空心,边框 #6E88B0 |
点击 → 勾上全部子项 |
| 部分选中 |
实心 #1677FF + 中央 2px 白色横线(半选) |
点击 → 勾上全部剩余未选 |
| 全部选中 |
实心 #1677FF + 白色勾 ✓ |
点击 → 清空全部 |
文字 "全部" 与下方项同色 #C5CFE0,不加粗。
15.2.4 底部「+ 添加项」按钮
面板底部可选地嵌入一颗虚线主色按钮,常用于「在已知池子里允许用户就地新增一项」(如标签、自定义分类):
| 元素 |
色值 / 规格 |
来源 |
| 高度 |
32px(与复选项行齐) |
— |
| 边框 |
1px dashed #1677FF (ZS-002-06) |
— |
| 背景 |
transparent |
— |
| 文字 |
14px Regular,#4096FF (ZS-002-05) |
— |
前缀图标 + |
12px,与文字同色 |
— |
| Hover |
背景 rgba(22,119,255,0.16),文字 #1677FF |
ZS-002-05 → ZS-002-06 |
| Active |
背景 rgba(22,119,255,0.24),文字 #FFFFFF |
— |
| 与最后一条复选项纵向分隔 |
上方分割线 1px solid #1A2F5A + --spacing-1 (4px) 间距 |
§6.1 |
点击行为由业务自行实现(如弹出输入框、内联编辑)。
15.3 多项带搜索
在 §15.2 基础上,面板顶部嵌入一行搜索框,输入时实时过滤复选项列表。其它结构(已选 Tag / 复选项 / 全选 / 底部添加)完全沿用 §15.2。
15.3.1 嵌入式搜索框
搜索框尺寸采用 §14.1 公共规格的小号(高度 28px),保持与面板视觉上的"嵌入感":
| 属性 |
取值 |
| 高度 |
28px(小号) |
| 水平 padding |
--spacing-2 (8px) |
| 圆角 |
2px |
| 背景 |
#0C1836 (ZS-004-09,比面板背景深一档) |
| 边框 |
1px solid #1A2F5A (ZS-004-07) |
| 文字 |
14px Regular,#C5CFE0 |
| 占位符 |
"搜索",#6E88B0 |
| 右侧 🔍 / ⊗ 图标 |
14px,#6E88B0,hover #4096FF |
| 搜索框 → 列表项纵向间距 |
--spacing-2 (8px) + 分割线 1px solid #1A2F5A |
输入非空时右侧图标切换为 ⊗(清空),点击清空输入并恢复完整列表。
15.3.2 加载与空状态
异步获取选项(如远程搜索)时,列表区按以下规则渲染:
| 状态 |
渲染 |
| 加载中 |
文字 "加载中…",单行居左,14px Regular,#6E88B0,行高 32px |
| 无匹配 |
文字 "无匹配项",同上 |
| 网络错误 |
文字 "加载失败,点击重试",#FF7875 (ZS-001-04),可点击 |
15.4 选用决策
| 场景 |
选择 |
| 候选池 ≤ 10 项,单值 |
§15.1 公共规格 + 去掉复选框(基础单选) |
| 候选池 ≤ 10 项,多值 |
§15.2 多项选择 |
| 候选池 > 10 项 / 不可枚举 |
§15.3 多项带搜索 |
| 候选池有层级关系(如部门 / 区域) |
级联选择器:每级独立面板横向铺开,单级内部规格同 §15.1~15.3 |
| 允许用户新增不在候选池的项 |
在 §15.2 / §15.3 末尾启用 §15.2.4「+ 添加项」按钮 |
15.5 CSS Token 参考
16. 单选与多选(Radio / Checkbox)
对应设计稿「多选框.png」。本章定义独立作为表单字段使用的单选(Radio)和多选(Checkbox)两类原子控件,包含未选 / 已选 / 未选禁用 / 已选禁用四种状态。§15.2.2「多项选择的复选项」中的复选框直接复用本章 §16.3 规格,本章是单一真源。
16.1 公共规格
| 属性 |
取值 |
| 控件尺寸 |
14px × 14px |
| 控件描边宽度 |
1px |
| 控件 → 文字间距 |
--spacing-2 (8px)(§7.1) |
| 文字字号 |
14px Regular |
| 行高 |
20px(点击命中区与文字垂直对齐) |
| 同一组横向相邻项的间距 |
--spacing-6 (24px)(§7.1) |
| 同一组纵向相邻项的间距 |
--spacing-3 (12px)(§7.1) |
整行(控件 + 文字)任意位置可点击 = 等效切换该项状态。
16.2 单选(Radio)
一组互斥选项中只能选中一个。视觉为圆形描边 + 内圆实心点。
16.2.1 外观规格
| 状态 |
外环 |
内圆 |
文字 |
| 未选 |
1px solid #4096FF (ZS-002-05) + 背景 transparent |
— |
#C5CFE0 (ZS-004-02) |
| 未选 Hover |
1px solid #1677FF (ZS-002-06) |
— |
#FFFFFF |
| 已选 |
1px solid #1677FF (ZS-002-06) |
中心实心圆 6px × 6px,#1677FF |
#FFFFFF |
| 已选 Focus |
外环外加 0 0 0 2px rgba(22,119,255,0.16) 焦点环 |
— |
#FFFFFF |
| 未选禁用 |
1px solid #4A6491 (ZS-004-05) + 背景 rgba(22,119,255,0.04) |
— |
#4A6491 |
| 已选禁用 |
1px solid #4A6491 (ZS-004-05) |
中心实心圆 6px × 6px,#4A6491 |
#4A6491 |
外环与内圆均为正圆(border-radius: 50%)。
16.2.2 与 label 组合使用
「基本使用-组合」场景:选中某 Radio 项后,下方展开关联输入字段(如 Antd 的 Form.Item 嵌入式组合)。
| 元素 |
规格 |
| Radio → 下方第一行 label 纵向间距 |
--spacing-3 (12px)(§7.1) |
| 嵌入字段左缩进 |
与 Radio 文字左边缘对齐(即外环宽 14px + 间距 8px = 22px 左缩进) |
| 嵌入字段的 label 与 input |
沿用 §14.1 输入框规格 |
| 嵌入区分组背景 |
可选地用 #1A2F5A (ZS-004-07) 作浅色卡片底色,强化"属于该 Radio"的视觉归属 |
16.3 多选(Checkbox)
多个选项可同时选中,互不影响。视觉为方形描边 + 内填勾 ✓。
16.3.1 外观规格
| 状态 |
边框 / 背景 |
勾 ✓ |
文字 |
| 未选 |
1px solid #4096FF (ZS-002-05) + 背景 transparent |
— |
#C5CFE0 (ZS-004-02) |
| 未选 Hover |
1px solid #1677FF (ZS-002-06) |
— |
#FFFFFF |
| 已选 |
实心填充 #1677FF (ZS-002-06) |
#FFFFFF,描边 2px |
#FFFFFF |
| 已选 Focus |
外加 0 0 0 2px rgba(22,119,255,0.16) 焦点环 |
#FFFFFF |
#FFFFFF |
| 半选 |
实心填充 #1677FF (ZS-002-06) |
中央横线 8px × 2px,#FFFFFF |
#FFFFFF |
| 未选禁用 |
1px solid #4A6491 (ZS-004-05) + 背景 rgba(22,119,255,0.04) |
— |
#4A6491 |
| 已选禁用 |
实心填充 #4A6491 (ZS-004-05) |
#C5CFE0 或 rgba(255,255,255,0.4) |
#4A6491 |
复选框统一圆角 2px(§4.1)。
16.3.2 与 label 组合使用
与 §16.2.2 完全一致 —— Checkbox 选中后下方展开嵌入式输入字段,缩进与间距规格相同(左缩进 22px、纵向间距 12px)。
16.4 状态对照表
| 状态 |
Radio 外环 |
Radio 内圆 |
Checkbox 外框 |
Checkbox 勾 |
文字 |
| 未选 |
#4096FF 描边 |
— |
#4096FF 描边 |
— |
#C5CFE0 |
| Hover |
#1677FF 描边 |
— |
#1677FF 描边 |
— |
#FFFFFF |
| 已选 |
#1677FF 描边 |
#1677FF 6px 圆 |
#1677FF 填充 |
#FFFFFF ✓ |
#FFFFFF |
| 半选(仅 Checkbox) |
— |
— |
#1677FF 填充 |
#FFFFFF 横线 |
#FFFFFF |
| Focus |
+ 0 0 0 2px rgba(22,119,255,0.16) |
— |
+ 0 0 0 2px rgba(22,119,255,0.16) |
— |
#FFFFFF |
| 未选禁用 |
#4A6491 描边 |
— |
#4A6491 描边 |
— |
#4A6491 |
| 已选禁用 |
#4A6491 描边 |
#4A6491 6px 圆 |
#4A6491 填充 |
#C5CFE0 ✓ |
#4A6491 |
16.5 与 §15.2.2 的关系
§15.2.2「多项选择面板内的复选项」直接复用本章 §16.3 的复选框外观规格,唯一差异:
- 在多项选择下拉面板里,未选状态边框是
#6E88B0 (ZS-004-04,更"灰"的占位色),而非本章 §16.3 默认的 #4096FF(更"蓝"的强调色)
- 原因:下拉面板里项数多,所有复选框同时蓝色描边会过于喧闹;独立表单字段里数量少(通常 2–4 项),用强调色更醒目
如需统一也可以全面采用本章规格 —— 二选一即可,但一个项目内部应保持一致。
16.6 CSS Token 参考
17. 日期选择器(DatePicker)
对应设计稿「日期时间筛选框.png」。覆盖单日期选择与日期范围选择两种场景。面板包含左侧快捷模式(按天 / 按周 / 按月 / 自定义)、起止输入区、双月日历主体、底部确认按钮四块。配色全部从 §1.1.3 渐蓝系(ZS-002)与 §1.1.5 深蓝系(ZS-004)取,与 §14 搜索框 / §15 选择器完全对齐。
17.1 触发器(Trigger)
触发器即「2021-12-09 📅」那一行。规格与 §14.1 输入框完全一致:
| 属性 |
取值 |
来源 |
| 高度 |
32px |
§14.1 |
| 圆角 |
2px |
§4.1 |
| 水平 padding |
--spacing-3 (12px) |
§7.1 |
| 背景 |
#0C1836 (ZS-004-09) |
— |
| 边框 |
1px solid #1A2F5A (ZS-004-07) |
— |
| 默认日期文字 |
14px Regular,#C5CFE0 (ZS-004-02);占位时 "请选择日期" 用 #6E88B0 (ZS-004-04) |
— |
| 右侧 📅 图标 |
14px,#6E88B0,hover #4096FF |
ZS-002-05 |
边框状态机(默认 / hover / focus / 失效 / 错误)直接复用 §14.1.1。
范围选择触发器变体:宽度自动延展,内显示 2021-12-09 至 2022-01-09。
17.2 下拉面板(Panel)
面板为左 + 右两栏组合:
17.2.1 面板容器规格
| 属性 |
取值 |
| 背景 |
#122347 (ZS-004-08) |
| 边框 |
1px solid #1A2F5A (ZS-004-07) |
| 阴影 |
0 4px 16px rgba(6, 14, 36, 0.6)(§3.1.4 三级阴影) |
| 圆角 |
2px |
| 与触发器纵向间距 |
--spacing-1 (4px) |
| 整体宽度 |
由左栏宽 80px + 右栏(双月并列)自适应得出 |
| 左右栏分隔线 |
1px solid #1A2F5A(ZS-004-07) |
| 属性 |
取值 |
| 宽度 |
80px |
| 项高度 |
36px |
| 水平 padding |
--spacing-3 (12px) |
| 字号 |
14px Regular |
右侧 › 图标(除"自定义"外) |
12px,与文字同色 |
17.3.1 项状态
| 状态 |
背景 |
文字 |
| 默认 |
transparent |
#C5CFE0 (ZS-004-02) |
| Hover |
rgba(22,119,255,0.16) |
#FFFFFF |
| 已选 |
#1677FF (ZS-002-06) |
#FFFFFF |
17.3.2 四种模式语义
| 模式 |
行为 |
| 按天 |
点击日期格 → 立即选中单日,关闭面板,触发器显示该日 |
| 按周 |
hover 任意日期格 → 整周高亮,点击 → 选中该周 |
| 按月 |
切换到月视图(日期格变成 12 个月名),点击 → 选中该月 |
| 自定义 |
默认显示双月日历,支持选中起止日做范围(详见 §17.5) |
17.4 起止日期输入区(Range Inputs)
仅在自定义模式下显示在右栏顶部:
| 元素 |
色值 / 规格 |
来源 |
| 输入框 |
沿用 §14.1 公共规格,宽度 132px,只读(点击日历格回填,不直接输入) |
§14.1 |
| 中间 "至" 文字 |
14px Regular,#6E88B0 (ZS-004-04),左右 padding --spacing-3 (12px) |
— |
右侧 ⊗ 清空按钮 |
14px,#6E88B0,hover #4096FF |
ZS-002-05 |
| 输入区 → 日历主体纵向间距 |
--spacing-3 (12px) + 分割线 1px solid #1A2F5A |
§6.1 |
| 整行右内 padding |
--spacing-4 (16px) |
§7.1 |
未选起 / 止时对应输入框留空显示占位 "开始日期" / "结束日期"(#6E88B0)。
17.5 双月日历主体(Calendar Grid)
并列展示当月与下月两张日历,便于跨月选范围。
17.5.1 标题栏
| 元素 |
色值 / 规格 |
| 年月文字 |
14px Medium,#C5CFE0 (ZS-004-02) |
翻页箭头 ‹ › |
14px,#6E88B0,hover #4096FF |
翻年箭头 « » |
14px,#6E88B0,hover #4096FF |
| 标题栏高度 |
36px |
| 双月之间间距 |
--spacing-6 (24px)(§7.1) |
行为:« » 翻年;‹ › 翻月。左日历翻动时右日历同步前移一月,保持"双月连续"。
17.5.2 星期表头
| 属性 |
取值 |
| 文字 |
日 一 二 三 四 五 六 |
| 字号 |
12px Regular |
| 颜色 |
#6E88B0 (ZS-004-04) |
| 行高 |
28px |
17.5.3 日期格规格
| 属性 |
取值 |
| 单元尺寸 |
28px × 28px(点击命中区) |
| 数字字号 |
14px Regular |
| 圆角 |
50%(已选时实心圆) |
| 行间距 |
0(紧凑排列) |
17.5.4 日期格状态
| 状态 |
背景 |
文字 |
| 当月普通 |
transparent |
#C5CFE0 (ZS-004-02) |
| 上下月填充(如 12 月日历里显示的 11/29、11/30、1/1、1/2) |
transparent |
#4A6491 (ZS-004-05) |
| 今天(无边框样式) |
transparent + 1px solid #1677FF |
#C5CFE0 |
| Hover |
rgba(22,119,255,0.16) |
#FFFFFF |
| 已选起止日 |
实心圆 #1677FF (ZS-002-06) |
#FFFFFF |
| 范围内(起止之间) |
rgba(22,119,255,0.16) 矩形(无圆角,左右相连成连续色带) |
#FFFFFF |
| 范围内 + 端点 |
矩形底色 + 端点实心圆叠加(视觉上"圆形扣"在色带头尾) |
#FFFFFF |
| 禁用(超出 min/max) |
transparent |
#4A6491,鼠标 not-allowed |
⚠️ 范围色带的实现要点:范围内日期格不能各自圆角,否则中间会出现空隙。推荐方案:每行整体作为容器,范围内的日期用同色底向左右各延伸 4px 模拟连续;端点处再叠加 28×28 实心圆。
17.6 底部「确定 / 取消」按钮
| 元素 |
规格 |
来源 |
| 区域高度 |
48px |
|
| 顶部分割线 |
1px solid #1A2F5A (ZS-004-07) |
§6.1 |
| 右内 padding |
--spacing-4 (16px) |
§7.1 |
| 按钮对齐 |
右对齐 |
|
| 「确定」 |
沿用 §5.2.1 主按钮(实心 #1677FF),尺寸"小号"28px |
§5.2.1 |
| 「取消」 |
沿用 §5.2.2 默认按钮(描边 + 透明底),尺寸"小号"28px |
§5.2.2 |
| 两按钮间距 |
--spacing-2 (8px) |
§7.1 |
行为:
- 「确定」 → 提交当前选择,关闭面板,触发器显示选中值
- 「取消」 → 丢弃临时选择,关闭面板,触发器值不变
按 Esc 等价于「取消」;按 Enter 等价于「确定」(当选择合法时)。
17.7 选用决策与变体
| 场景 |
选择 |
| 单日期 |
触发器 + 单月日历(无左侧快捷栏,无起止输入区) |
| 日期范围(常见筛选) |
完整组合:左侧快捷栏 + 双月日历 + 起止输入区 |
| 仅按周 / 按月 / 按季度 |
左侧只保留对应模式项;右侧日历切换为相应粒度 |
| 带时间(小时 / 分) |
在 §17.4 起止输入区下方追加时分选择列(24h 滚轮,未在本节展开) |
| 多日期独立选(非连续) |
不推荐用本组件 —— 改用 §15 多项选择 + 日期值列表 |
17.8 CSS Token 参考