# 深蓝色 UI 规范 · 03 数据展示(§22–§34) > 《深蓝色 UI 规范》分册之一。基础令牌见 `00-基础-色彩字体间距.md`,可 import 的变量见 `tokens.css`,总目录与 §索引见 `README.md`。`§N` 编号全局唯一。 **本篇目录(§22–§34)**:`22` 卡片 · `23` 折叠面板 · `24` 描述列表 · `25` 列表 · `26` 时间轴(节点型) · `27` 进度条 · `28` 表格 · `29` 标签 · `30` 树形控件 · `31` 时间轴(长文本) · `32` 对话框 · `33` 全局提示 · `34` 气泡确认 --- ## 22. 卡片(Card) > 对应设计稿「卡片」基本形式与组合(分组信息卡片)。覆盖**基础卡片**(标题 + 操作)、**新增占位卡片**、**信息卡片**(头像 + 字段 + 标签 + 统计)三类。容器 / 阴影 / 占位卡片配色直接沿用 §3.1,按钮 / 文本按钮沿用 §5,标签沿用 §15.2.1。配色从 §1.1.3 渐蓝系(ZS-002)与 §1.1.5 深蓝系(ZS-004)取。 ### 22.1 基础卡片(标题 + 操作) ``` ┌───────────────────────────┐ │ ▎标题16PX ✏️ ⋯ │ ← 标题栏(左竖条 + 标题 + 右操作) ├───────────────────────────┤ │ 卡片内容 … │ └───────────────────────────┘ ``` | 元素 | 色值 / 规格 | 来源 | |------|-------------|------| | 卡片背景 | `#122347` (ZS-004-08) | §3.1.2 | | 卡片边框 | `1px solid #1A2F5A` (ZS-004-07) | — | | 卡片圆角 | `4px` | §4.1 | | 卡片阴影 | `0 2px 8px rgba(22,119,255,0.12)`(§3.1.4 一级) | §3.1.4 | | 标题文字 | `16px Bold`,`#C5CFE0` (ZS-004-02) | §3.1.2 | | 标题左竖条 | `3px × 14px`,`#1677FF` (ZS-002-06) | §1.1.6 | | 编辑图标 ✏️ | `16px`,`#6E88B0` (ZS-004-04),hover `#4096FF` | §3.1.2 | | 更多图标 ⋯ | `16px`,`#6E88B0`,hover `#4096FF` | — | | 标题栏内边距 | `--spacing-4` (16px) | §7.1 | | 标题栏底分割线 | `1px solid #1A2F5A` | §6.1 | | 内容区内边距 | `--spacing-4` (16px) | §7.1 | | 卡片 hover | 阴影升二级 `0 4px 16px rgba(22,119,255,0.24)` | §3.1.4 | ### 22.2 新增占位卡片 虚线描边的「+ 新增」入口,沿用 §3.1.3。 | 元素 | 色值 / 规格 | 来源 | |------|-------------|------| | 背景 | `#0C1836` (ZS-004-09,与外层同色营造凹陷) | §3.1.3 | | 虚线边框 | `1px dashed #4096FF` (ZS-002-05) | §3.1.3 | | 加号图标 `+` | `24px`,`#4096FF`,居中 | §3.1.3 | | 圆角 | `4px` | §4.1 | | Hover | 边框 + 加号 `#1677FF` (ZS-002-06),背景 `rgba(22,119,255,0.08)` | — | | 尺寸 | 与同行内容卡片等高等宽 | — | ### 22.3 信息卡片(头像 + 字段 + 标签 + 统计) 用于「分组信息卡片」——展示个体 / 媒体 / 人物等档案条目。 ``` ┌──────────────────────────────────────┐ │ ▎个体 ✏️ 标签 ✕ │ ← 头部:类型标识 + 操作 │ 👤 姓名(Name-name) 🔖 在线标签 │ ← 头像 + 主名 + 状态标签 │ 基本信息 样下功能▾ 线上发声▾ │ ← 字段/操作行 │ 国家/地区:国家恒及 │ │ 职能:职务职务 │ │ 关注度排行:#话题二 #话题二 #话题二 │ ← 标签组 └──────────────────────────────────────┘ ``` #### 22.3.1 结构与配色 | 元素 | 色值 / 规格 | 来源 | |------|-------------|------| | 卡片容器 | 同 §22.1(背景 `#122347` / 边框 `#1A2F5A` / 圆角 `4px` / 一级阴影) | — | | 类型标识(个体 / 媒体)左竖条 | `3px × 14px`,`#1677FF` (ZS-002-06) | §22.1 | | 类型标识文字 | `14px Medium`,`#C5CFE0` (ZS-004-02) | — | | 头像占位 | 方/圆 `40px`,底色 `#1A2F5A` (ZS-004-07),图标 `#6E88B0` | — | | 主名文字 | `16px Medium`,`#FFFFFF` | — | | 字段标签("国家/地区:") | `14px Regular`,`#6E88B0` (ZS-004-04) | — | | 字段值 | `14px Regular`,`#C5CFE0` (ZS-004-02) | — | | 行内操作("线上发声 ▾") | 沿用 §5.3.1 文字+下拉按钮(默认 Outline) | §5.3.1 | | 状态标签("在线"等) | 沿用 §15.2.1 Tag(实心 `#1677FF` + 白字)或成功态 `#13C2C2`(ZS-003-06) | §15.2.1 / §1.1.4 | | 话题标签(`#话题`) | `12px`,文字 `#4096FF` (ZS-002-05),背景 `rgba(22,119,255,0.12)`,圆角 `2px` | — | | 头部操作图标 ✏️ / ✕ | `16px`,`#6E88B0`,hover `#4096FF` | §22.1 | | 字段行纵向间距 | `--spacing-2` (8px) | §7.1 | | 区块之间间距 | `--spacing-3` (12px) | §7.1 | #### 22.3.2 带统计的媒体卡片变体 媒体类卡片在字段区下方追加「平台 + 数值」统计行(如 Facebook 群组数量): | 元素 | 色值 / 规格 | 来源 | |------|-------------|------| | 平台图标 | `16px`,原色或 `#4096FF` 单色化 | — | | 统计标签("群组数量") | `14px Regular`,`#6E88B0` (ZS-004-04) | — | | 统计数值(数字) | `16px Bold`(D-DIN),`#C5CFE0` (ZS-004-02) | §2.1.2 | | 统计行分隔 | `1px solid #2D4473`(弱化) | §6.1 | ### 22.4 卡片栅格与间距 | 规则 | 取值 | 来源 | |------|------|------| | 卡片之间横向间距 | `--spacing-6` (32px) | §7.1 | | 卡片之间纵向间距 | `--spacing-6` (32px) | §7.1 | | 卡片内容内边距 | `--spacing-4` (16px) | §7.1 | | 分组标题("分组信息卡片")→ 卡片区 | `--spacing-5` (24px) | §7.1 | ### 22.5 CSS Token 参考 ```css :root { /* 卡片容器 */ --card-bg: #122347; /* ZS-004-08 */ --card-border: #1A2F5A; /* ZS-004-07 */ --card-radius: 4px; --card-shadow: 0 2px 8px rgba(22,119,255,0.12); --card-shadow-hover: 0 4px 16px rgba(22,119,255,0.24); /* 标题 */ --card-title-text: #C5CFE0; /* ZS-004-02 */ --card-title-bar: #1677FF; /* ZS-002-06 左竖条 */ --card-action-icon: #6E88B0; /* ZS-004-04 */ --card-action-hover: #4096FF; /* ZS-002-05 */ /* 新增占位 */ --card-add-bg: #0C1836; /* ZS-004-09 */ --card-add-border: #4096FF; /* ZS-002-05 虚线 */ --card-add-hover: #1677FF; /* ZS-002-06 */ /* 信息卡片 */ --card-avatar-bg: #1A2F5A; /* ZS-004-07 */ --card-name-text: #FFFFFF; --card-field-label: #6E88B0; /* ZS-004-04 */ --card-field-value: #C5CFE0; /* ZS-004-02 */ --card-topic-tag-text:#4096FF; /* ZS-002-05 */ --card-topic-tag-bg: rgba(22,119,255,0.12); --card-stat-num: #C5CFE0; /* ZS-004-02 */ --card-stat-divider: #2D4473; /* ZS-004-06 */ } ``` --- ## 23. 折叠面板(Collapse / 手风琴) > 对应设计稿「折叠」。覆盖**基础折叠**(标题 + 描述)、**列表概览折叠 + 图标**、**手风琴折叠**(同时仅一项展开)、**列表项折叠**(右侧带计数 + 展开链接)四类。配色从 §1.1.3 渐蓝系(ZS-002)与 §1.1.5 深蓝系(ZS-004)取,与 §8 导航下拉 / §9.2 锚点一致。 ### 23.1 基础折叠(标题 + 描述) ``` 收起态: 展开态: ┌────────────────────────┐ ┌────────────────────────┐ │ 标题 ▾ │ │ 标题 ▴ │ │ 描述文字说明 │ │ 描述文字说明 │ └────────────────────────┘ ├────────────────────────┤ │ 展开后的内容区 … │ └────────────────────────┘ ``` #### 23.1.1 头部规格 | 元素 | 色值 / 规格 | 来源 | |------|-------------|------| | 头部背景 | `#122347` (ZS-004-08) | §3.1.2 | | 头部边框 | `1px solid #1A2F5A` (ZS-004-07) | — | | 头部圆角 | `4px`(展开时下两角变直角) | §4.1 | | 标题文字 | `16px Medium`,`#C5CFE0` (ZS-004-02);展开时 `#FFFFFF` | — | | 描述文字 | `14px Regular`,`#6E88B0` (ZS-004-04) | — | | 展开箭头 `▾ / ▴` | `14px`,`#6E88B0`,hover `#4096FF` (ZS-002-05) | ZS-002-05 | | 头部高度 | `≥ 48px`(含描述时自适应) | — | | 头部内边距 | `--spacing-4` (16px) | §7.1 | | 头部 Hover 背景 | `rgba(22,119,255,0.08)` | §8.4.3 | #### 23.1.2 内容区 | 属性 | 取值 | |------|------| | 背景 | `#0C1836` (ZS-004-09,比头部深一档) | | 内边距 | `--spacing-4` (16px) | | 顶部分割线 | `1px solid #1A2F5A` (ZS-004-07) | | 文字 | `14px Regular`,`#C5CFE0` | ### 23.2 列表概览折叠 + 图标 头部标题前增加一个小图标(业务图标),其余同 §23.1。 | 元素 | 色值 / 规格 | 来源 | |------|-------------|------| | 前缀小图标 | `16px`,`#4096FF` (ZS-002-05) | — | | 图标 → 标题间距 | `--spacing-2` (8px) | §7.1 | ### 23.3 手风琴折叠(互斥单开) 多个折叠项垂直堆叠,**同一时刻仅允许一项展开**,展开新项时自动收起其它项。 ``` ┌────────────────────────────────────────┐ │ ▸ 把了 1300 多万元!他们靠卖「口罩」… 收起 │ ← 展开项(高亮) │ 描述正文段落描述正文段落 … │ ├────────────────────────────────────────┤ │ ▸ 某条新闻标题某条新闻标题 … 展开 │ ├────────────────────────────────────────┤ │ ▸ 某科学家�证据曝光为何争不下 … 展开 │ └────────────────────────────────────────┘ ``` | 元素 | 色值 / 规格 | 来源 | |------|-------------|------| | 项之间分隔 | `1px solid #1A2F5A` (ZS-004-07) | §6.1 | | 收起项标题 | `14px Regular`,`#C5CFE0` (ZS-004-02) | — | | 展开项标题 | `14px Medium`,`#FFFFFF` | — | | 展开项左强调条 | 可选 `2px solid #1677FF` (ZS-002-06),贴左缘 | §8.3.2 激活 | | 右侧「展开 / 收起」文字按钮 | 沿用 §5.2.3 文本按钮,`#4096FF` → hover `#1677FF` | §5.2.3 | | 行高 | `≥ 40px` | — | ### 23.4 列表项折叠(右侧计数 + 展开) 紧凑列表,每行右侧带一个计数徽标 + 「展开」链接(常用于评论 / 回复折叠)。 ``` 收起的折叠标题某某某某某 🔺 6405 展开 ``` | 元素 | 色值 / 规格 | 来源 | |------|-------------|------| | 标题文字 | `14px Regular`,`#C5CFE0` (ZS-004-02),过长省略 | — | | 计数图标 | `12px`,`#F5222D`(热度红,ZS-001-06)或 `#4096FF` | §1.1.2 / §1.1.6 | | 计数数字 | `14px Regular`(D-DIN),`#6E88B0` (ZS-004-04) | §2.1.2 | | 「展开 / 收起」 | 沿用 §5.2.3 文本按钮 | §5.2.3 | | 行高 | `36px` | — | | 行间分割线 | `1px solid #2D4473`(弱化) | §6.1 | | 行 Hover 背景 | `rgba(22,119,255,0.08)` | — | ### 23.5 交互与动画 | 行为 | 动效 | 来源 | |------|------|------| | 展开 / 收起 | 内容高度 `0 → auto`,`opacity 0 → 1`,`200ms ease-out` | §8.5 | | 箭头旋转 | `▾ → ▴`(`rotate 180deg`),`200ms ease-out` | §8.5 | | 手风琴互斥 | 展开新项时旧项同步收起,两者动画并行 | — | | Hover 背景过渡 | `120ms ease-out` | §8.5 | ### 23.6 三种折叠的选用决策 | 场景 | 选择 | |------|------| | 单个区块「展开看详情」 | §23.1 基础折叠 | | 带分类图标的概览块 | §23.2 列表概览折叠 + 图标 | | 多块互斥、节省纵向空间 | §23.3 手风琴折叠 | | 长列表内逐条折叠(评论 / 回复) | §23.4 列表项折叠 | ### 23.7 CSS Token 参考 ```css :root { /* 头部 */ --collapse-head-bg: #122347; /* ZS-004-08 */ --collapse-head-border: #1A2F5A; /* ZS-004-07 */ --collapse-title: #C5CFE0; /* ZS-004-02 */ --collapse-title-open: #FFFFFF; --collapse-desc: #6E88B0; /* ZS-004-04 */ --collapse-arrow: #6E88B0; --collapse-arrow-hover: #4096FF; /* ZS-002-05 */ --collapse-head-hover-bg: rgba(22,119,255,0.08); --collapse-icon: #4096FF; /* 前缀图标 */ /* 内容区 */ --collapse-body-bg: #0C1836; /* ZS-004-09 */ --collapse-body-divider: #1A2F5A; /* ZS-004-07 */ /* 手风琴 / 列表项 */ --collapse-item-divider: #1A2F5A; /* ZS-004-07 */ --collapse-item-active-bar:#1677FF; /* ZS-002-06 */ --collapse-toggle-text: #4096FF; /* ZS-002-05 文本按钮 */ --collapse-toggle-hover: #1677FF; /* ZS-002-06 */ --collapse-count-icon: #F5222D; /* ZS-001-06 热度 */ --collapse-count-num: #6E88B0; /* ZS-004-04 */ --collapse-row-divider: #2D4473; /* ZS-004-06 */ } ``` --- ## 24. 描述列表(Descriptions) > 对应设计稿「6.7 数据展示-描述」。用于档案 / 详情页的**键值对表格**展示(账号名 / 密码等字段)。整体是一张带边框的两列表格:左列字段名、右列字段值,行底色**斑马交替**。配色从 §1.1.3 渐蓝系(ZS-002)与 §1.1.5 深蓝系(ZS-004)取。 ### 24.1 区块标题 ``` ▎资源信息 ──────────────────────── ``` | 元素 | 色值 / 规格 | 来源 | |------|-------------|------| | 标题左竖条 | `3px × 16px`,`#1677FF` (ZS-002-06) | §22.1 | | 标题文字 | `16px Bold`,`#C5CFE0` (ZS-004-02) | §3.1.2 | | 标题下分隔线 | `1px solid #1A2F5A` (ZS-004-07),通栏 | §6.1 | | 标题 → 表格间距 | `--spacing-4` (16px) | §7.1 | ### 24.2 表格容器与单元格 | 属性 | 取值 | 来源 | |------|------|------| | 外层容器背景 | `#0C1836` (ZS-004-09) | §3.1.1 | | 表格边框 | `1px solid #1A2F5A` (ZS-004-07)(外框 + 单元格描边) | §6.1 | | 单元格行高 | `44px` | — | | 单元格水平 padding | `--spacing-4` (16px) | §7.1 | | 标签列(左)宽度 | 固定 `≥ 120px` | — | | 圆角 | 外层 `4px`,内部单元格直角 | §4.1 | ### 24.3 行配色(斑马交替) | 元素 | 色值 / 规格 | 来源 | |------|-------------|------| | 标签列文字("账号名 / 密码") | `14px Medium`,`#C5CFE0` (ZS-004-02) | — | | 值列文字 | `14px Regular`,`#C5CFE0` (ZS-004-02) | — | | 奇数行背景 | `#122347` (ZS-004-08) | §3.1.2 | | 偶数行背景 | `#0C1836` (ZS-004-09,略深,形成斑马) | §3.1.1 | | 行 Hover 背景 | `rgba(22,119,255,0.08)` | §8.4.3 | | 行间 / 列间分割线 | `1px solid #1A2F5A` (ZS-004-07) | §6.1 | ### 24.4 值内操作(如密码「查看」) 值列可内嵌文本按钮(如密码掩码后的「查看」切换明文)。 | 元素 | 色值 / 规格 | 来源 | |------|-------------|------| | 掩码字符 | `*` / `●`,`#C5CFE0` (ZS-004-02) | — | | 「查看 / 隐藏」 | 沿用 §5.2.3 文本按钮,`#4096FF` → hover `#1677FF` + 下划线 | §5.2.3 | | 掩码 → 操作间距 | `--spacing-2` (8px) | §7.1 | ### 24.5 布局变体 | 变体 | 说明 | 来源 | |------|------|------| | 单列(一问一答竖排) | 每行一个字段,标签列固定宽,值列撑满(本节默认) | — | | 双列(一行两组键值) | 宽容器下并排两组「标签+值」,组间分割线 `1px solid #1A2F5A` | §6.2 | | 纯展示无边框 | 去掉单元格描边,仅保留行间细线 `1px solid #2D4473`,用于轻量详情 | §6.1 | ### 24.6 选用决策 | 场景 | 选择 | |------|------| | 档案 / 详情字段(键值对) | §24 描述列表 | | 多行同结构数据(可排序 / 翻页) | 改用数据表格 Table(另见表格规范) | | 字段数 ≤ 4 且轻量 | §24.5 纯展示无边框变体 | ### 24.7 CSS Token 参考 ```css :root { /* 区块标题 */ --desc-title-bar: #1677FF; /* ZS-002-06 左竖条 */ --desc-title-text: #C5CFE0; /* ZS-004-02 */ --desc-title-divider: #1A2F5A; /* ZS-004-07 */ /* 表格 */ --desc-wrap-bg: #0C1836; /* ZS-004-09 */ --desc-border: #1A2F5A; /* ZS-004-07 */ --desc-row-h: 44px; --desc-label-text: #C5CFE0; /* ZS-004-02 */ --desc-value-text: #C5CFE0; /* ZS-004-02 */ --desc-row-odd-bg: #122347; /* ZS-004-08 斑马奇行 */ --desc-row-even-bg: #0C1836; /* ZS-004-09 斑马偶行 */ --desc-row-hover-bg: rgba(22,119,255,0.08); /* 值内操作 */ --desc-action-text: #4096FF; /* ZS-002-05 查看 */ --desc-action-hover: #1677FF; /* ZS-002-06 */ /* 无边框变体 */ --desc-light-divider: #2D4473; /* ZS-004-06 */ } ``` --- ## 25. 列表(List) > 对应设计稿「6.9 数据展示-列表」。用于信息流 / 评论 / 动态等条目列表,每条 = 头像 + 主名 + 来源标识 + 时间 + 正文。整体包在一个卡片容器内,条目之间用细分割线隔开。配色从 §1.1.3 渐蓝系(ZS-002)与 §1.1.5 深蓝系(ZS-004)取。 ### 25.1 容器 | 属性 | 取值 | 来源 | |------|------|------| | 容器背景 | `#0C1836` (ZS-004-09) | §3.1.1 | | 容器边框 | `1px solid #1A2F5A` (ZS-004-07) | — | | 容器圆角 | `4px` | §4.1 | | 容器内边距 | `--spacing-5` (24px) | §7.1 | | 区块标题「列表」 | `16px Bold`,`#FFFFFF`,置于容器外上方 | §12.2.1 | ### 25.2 列表条目 ``` 👤ⓕ Speaker Kevin McCarthy 2023-12-31 18:00:00 48923056 当我们的退伍军人重新进入平民生活时,他们应该得到最好的职业机会…… ────────────────────────────────────────────────────────────────────── ``` | 元素 | 色值 / 规格 | 来源 | |------|-------------|------| | 头像 | `40px` 方/圆,底色 `#1A2F5A` (ZS-004-07) | §22.3.1 | | 来源角标(如 Ⓕ Facebook) | `14px`,叠在头像右下角,原色或 `#4096FF` 单色化 | — | | 主名文字 | `16px Bold`,`#FFFFFF` | — | | 副 ID(如 `48923056`) | `14px Regular`,`#4096FF` (ZS-002-05) | §1.1.6 | | 时间文字(右上角) | `14px Regular`(D-DIN 数字),`#4096FF` (ZS-002-05) | §2.1.2 | | 正文文字 | `14px Regular`,`#C5CFE0` (ZS-004-02),行高 `1.6` | — | | 头像 → 文字间距 | `--spacing-3` (12px) | §7.1 | | 主名 → 副 ID 间距 | `--spacing-1` (4px) | §7.1 | | 副 ID → 正文间距 | `--spacing-2` (8px) | §7.1 | | 条目内边距 | 上下 `--spacing-4` (16px) | §7.1 | | 条目间分割线 | `1px solid #1A2F5A` (ZS-004-07) | §6.1 | | 条目 Hover 背景 | `rgba(22,119,255,0.08)` | §8.4.3 | ### 25.3 变体与状态 | 变体 / 状态 | 规则 | |------------|------| | 带操作的条目 | 右侧追加文本按钮区(点赞 / 评论 / 更多),沿用 §5.2.3、§5.3.3 | | 正文折叠 | 超过 N 行用「展开」收起,沿用 §23.4 列表项折叠 | | 空列表 | 居中提示「暂无数据」,`14px Regular`,`#6E88B0` (ZS-004-04) | | 加载更多 | 底部「加载更多 »」文本按钮(§5.3.3)或滚动自动加载 | ### 25.4 CSS Token 参考 ```css :root { --list-wrap-bg: #0C1836; /* ZS-004-09 */ --list-wrap-border: #1A2F5A; /* ZS-004-07 */ --list-avatar-bg: #1A2F5A; /* ZS-004-07 */ --list-name-text: #FFFFFF; --list-subid-text: #4096FF; /* ZS-002-05 */ --list-time-text: #4096FF; /* ZS-002-05 */ --list-body-text: #C5CFE0; /* ZS-004-02 */ --list-divider: #1A2F5A; /* ZS-004-07 */ --list-row-hover-bg: rgba(22,119,255,0.08); --list-empty-text: #6E88B0; /* ZS-004-04 */ } ``` --- ## 26. 时间轴(Timeline) > 对应设计稿「6.11 数据展示」左半与「全局时间轴」。覆盖**基础时间轴点**、**卡片式时间轴**、**全局时间轴**(横向刻度 + 区间滑块)三类。节点圆 / 连接线沿用 §10 步骤条逻辑,配色从 §1.1.3 渐蓝系(ZS-002)与 §1.1.5 深蓝系(ZS-004)取。 ### 26.1 基础时间轴点(纵向) ``` ● WirdPress多处绝对路径泄漏 ┊ 12-03 02:21:47 ● WirdPress多处绝对路径泄漏 ┊ 12-03 02:21:47 ● WirdPress多处绝对路径泄漏 ``` | 元素 | 色值 / 规格 | 来源 | |------|-------------|------| | 容器背景 | `#122347` (ZS-004-08) | §3.1.2 | | 容器边框 | `1px solid #1A2F5A` (ZS-004-07) | — | | 节点圆点 | 实心圆 `8px`,`#1677FF` (ZS-002-06);外可加 `2px` 同色半透明光圈 | §10.1 | | 连接线 | `1px solid #2D4473` (ZS-004-06),垂直贯穿节点 | §10.1 | | 标题文字 | `14px Regular`,`#C5CFE0` (ZS-004-02) | — | | 时间文字 | `12px Regular`(D-DIN),`#6E88B0` (ZS-004-04) | §2.1.2 | | 节点圆 → 文字间距 | `--spacing-2` (8px) | §7.1 | | 节点垂直间距 | `--spacing-5` (24px),圆心到圆心 | §10.4.2 | | 当前 / 最新节点 | 圆点加亮 `#4096FF` + 外光圈 | — | ### 26.2 卡片式时间轴 每个时间节点挂一张内容卡片(时间在卡外、内容在卡内)。 ``` ● 2021-12-03 14:25:44 ┊ ┌──────────────────────────┐ ┊ │ 零报告上报 │ ┊ │ 安全状况: 今日无安全风险 │ ┊ └──────────────────────────┘ ``` | 元素 | 色值 / 规格 | 来源 | |------|-------------|------| | 节点圆点 / 连接线 | 同 §26.1 | — | | 时间标题 | `14px Regular`,`#C5CFE0` (ZS-004-02) | — | | 卡片背景 | `#0C1836` (ZS-004-09,比容器深一档) | §3.1.3 | | 卡片边框 | `1px solid #1A2F5A` (ZS-004-07) | — | | 卡片圆角 | `4px` | §4.1 | | 卡片内边距 | `--spacing-3` (12px) | §7.1 | | 卡片标题("零报告上报") | `14px Medium`,`#C5CFE0` | — | | 字段标签("安全状况:") | `14px Regular`,`#6E88B0` (ZS-004-04) | — | | 字段值("今日无安全风险") | `14px Regular`,`#4096FF` (ZS-002-05) | — | | 时间 → 卡片间距 | `--spacing-2` (8px) | §7.1 | ### 26.3 全局时间轴(横向刻度 + 区间滑块) 顶部横条,承载连续时间刻度与一个可拖拽的**区间选择滑块**。 ``` ● ├──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┤ 04-03 04-04 04-03 04-04 ▓▓▓▓▓▓▓▓ 04-04 04-03 … └─区间滑块(蓝色高亮段)─┘ ``` | 元素 | 色值 / 规格 | 来源 | |------|-------------|------| | 轨道背景 | `#0C1836` (ZS-004-09) | — | | 刻度基线 | `1px solid #1A2F5A` (ZS-004-07) | §6.1 | | 刻度文字(日期) | `12px Regular`,`#6E88B0` (ZS-004-04) | — | | 游标点(顶部 ●) | 实心圆 `8px`,`#FFFFFF` + `1px #1677FF` 描边 | — | | 选中区间段 | `rgba(22,119,255,0.32)` 矩形底 + 上下边 `1px solid #1677FF` | §1.1.6 | | 区间两端手柄 | `4px × 全高` 实心 `#1677FF` (ZS-002-06) | — | | 轨道高度 | `≥ 56px`(含刻度文字) | — | | Hover 刻度 | 文字 `#4096FF` | §1.1.6 | ### 26.4 选用决策 | 场景 | 选择 | |------|------| | 纯事件流(标题 + 时间) | §26.1 基础时间轴点 | | 每个节点带结构化内容 | §26.2 卡片式时间轴 | | 长跨度时间筛选 / 缩放 | §26.3 全局时间轴(区间滑块) | ### 26.5 CSS Token 参考 ```css :root { --timeline-wrap-bg: #122347; /* ZS-004-08 */ --timeline-wrap-border: #1A2F5A; /* ZS-004-07 */ --timeline-dot: #1677FF; /* ZS-002-06 */ --timeline-dot-active: #4096FF; /* ZS-002-05 */ --timeline-line: #2D4473; /* ZS-004-06 */ --timeline-title: #C5CFE0; /* ZS-004-02 */ --timeline-time: #6E88B0; /* ZS-004-04 */ /* 卡片式 */ --timeline-card-bg: #0C1836; /* ZS-004-09 */ --timeline-card-border: #1A2F5A; /* ZS-004-07 */ --timeline-field-label: #6E88B0; /* ZS-004-04 */ --timeline-field-value: #4096FF; /* ZS-002-05 */ /* 全局时间轴 */ --gtimeline-track-bg: #0C1836; /* ZS-004-09 */ --gtimeline-baseline: #1A2F5A; /* ZS-004-07 */ --gtimeline-tick: #6E88B0; /* ZS-004-04 */ --gtimeline-range-fill: rgba(22,119,255,0.32); --gtimeline-range-edge: #1677FF; /* ZS-002-06 */ --gtimeline-cursor: #FFFFFF; } ``` --- ## 27. 进度条(Progress) > 对应设计稿「6.11 数据展示-进度条」右半。覆盖**标准线性进度条**、**小型进度条**、**环形进度条**三类。进度色按语义分**成功 / 进行中 / 失败**三态。 > > ℹ️ **语义色说明**:成功绿 / 警告橙已正式收录 §1.1.9 功能语义色,本节进度色统一引用之(见 §27.4 与 `tokens.css` 的 `--func-*`)。 ### 27.1 标准线性进度条 ``` ████████████████████████ 100% ✓ ← 成功(绿) ██████████████░░░░░░░░░░ 80% ✗ ← 失败(红) ██████████████░░░░░░░░░░ 80% ← 进行中(橙) ``` | 元素 | 色值 / 规格 | 来源 | |------|-------------|------| | 轨道(未完成段) | `#1A2F5A` (ZS-004-07) | §6.1 | | 已完成段-成功 | `#52C41A`(成功绿,§1.1.9) / 近似 `#13C2C2`(ZS-003-06) | §27.4 | | 已完成段-失败 | `#F5222D` (ZS-001-06) | §1.1.2 | | 已完成段-进行中 | `#FAAD14`(警告橙,§1.1.9) | §27.4 | | 条高 | `8px`,圆角 `4px`(两端半圆) | §4.1 | | 百分比文字 | `14px Regular`(D-DIN),`#C5CFE0` (ZS-004-02) | §2.1.2 | | 尾部状态图标 | 成功 ✓(绿圆)/ 失败 ✗(红圆),`16px` | §20.3.2 | | 条 → 百分比间距 | `--spacing-2` (8px) | §7.1 | ### 27.2 小型进度条 用于较窄区域(如表格单元格内)。规格同 §27.1,仅尺寸收缩: | 属性 | 取值 | |------|------| | 条高 | `4px` | | 百分比文字 | `12px Regular` | | 尾部状态图标 | `12px` | | 条宽 | 自适应容器(最小 `48px`) | ### 27.3 环形进度条 ``` ╭───╮ ╭───╮ ╭───╮ │22.4%│ │47.8%│ │82.0%│ │ 名称│ │ 名称│ │ 名称│ ╰───╯ ╰───╯ ╰───╯ (蓝) (橙) (红/混) ``` | 元素 | 色值 / 规格 | 来源 | |------|-------------|------| | 环轨道(底) | `#1A2F5A` (ZS-004-07) | — | | 环进度段 | 按语义取 成功绿 / 进行中橙 / 失败红 / 主色蓝 `#1677FF` | §27.4 | | 环宽 | `6px`,端点圆头(`stroke-linecap: round`) | — | | 中心百分比 | `16px Bold`(D-DIN),`#FFFFFF` | §2.1.2 | | 中心名称 | `12px Regular`,`#6E88B0` (ZS-004-04) | — | | 直径 | `72px`(默认) | — | | 起始角 | 顶部 12 点钟,顺时针填充 | — | ### 27.4 状态语义色(引用 §1.1.9) > 进度条 / §29 状态标签的语义色统一引用 §1.1.9 功能语义色,CSS 用 `tokens.css` 的 `--func-*`;下表保留来源对照。 | 语义 | 色值 | §1.1.9 来源 | Token | |------|-----------|--------------|------| | 成功 / 已完成 | `#52C41A` | 补充色绿 | `--func-success` | | 进行中 / 警告 | `#FAAD14` | 补充色橙 | `--func-warning` | | 失败 / 错误 | `#F5222D` | ZS-001-06 | `--func-error` | | 信息 / 默认 | `#1677FF` / `#4096FF` | ZS-002-06 / ZS-002-05 | `--func-info` | | 处理中 / 等待 | `#13C2C2` | ZS-003-06 | `--func-processing` | > 历史说明:成功绿 / 警告橙此前未进标准色,现已正式收录 §1.1.9,本节与 §29 状态标签均引用之。 ### 27.5 CSS Token 参考 ```css :root { /* 功能语义色(定义见 §1.1.9 / tokens.css;此处为分册自包含副本) */ --func-success: #52C41A; /* 成功绿 §1.1.9 */ --func-warning: #FAAD14; /* 警告橙 §1.1.9 */ --func-error: #F5222D; /* ZS-001-06 */ --func-info: #1677FF; /* ZS-002-06 */ --func-processing: #13C2C2; /* ZS-003-06 */ /* 进度条 */ --progress-track: #1A2F5A; /* ZS-004-07 */ --progress-success: var(--func-success); --progress-error: var(--func-error); --progress-active: var(--func-warning); --progress-num: #C5CFE0; /* ZS-004-02 */ /* 环形 */ --circle-track: #1A2F5A; /* ZS-004-07 */ --circle-num: #FFFFFF; --circle-label: #6E88B0; /* ZS-004-04 */ } ``` --- ## 28. 表格(Table) > 对应设计稿「6.13 数据展示-表格」。后台列表主力组件:表头 + 数据行(斑马 / hover / 选中)+ 勾选列 + 内联编辑 + 状态列(复用 §29 标签)+ 操作列(复用 §5.2.3 文本按钮)。表头 / 边框 / 斑马沿用 §24 描述列表与 §6 分割线规则。配色从 §1.1.3 渐蓝系(ZS-002)与 §1.1.5 深蓝系(ZS-004)取。 ### 28.1 表格容器 | 属性 | 取值 | 来源 | |------|------|------| | 容器背景 | `#0C1836` (ZS-004-09) | §3.1.1 | | 外边框 | `1px solid #1A2F5A` (ZS-004-07) | §6.1 | | 圆角 | `4px` | §4.1 | ### 28.2 表头(Header) | 元素 | 色值 / 规格 | 来源 | |------|-------------|------| | 表头背景 | `#122347` (ZS-004-08) | §3.1.2 | | 表头文字 | `14px Medium`,`#C5CFE0` (ZS-004-02) | — | | 表头行高 | `44px` | — | | 列水平 padding | `--spacing-4` (16px) | §7.1 | | 表头底分割线 | `1px solid #1A2F5A` (ZS-004-07) | §6.1 | | 排序图标 `▲▼` | `12px`,默认 `#4A6491`,激活 `#4096FF` | §1.1.6 | | 列分割线(可选) | `1px solid #2D4473`(弱化) | §6.2 | ### 28.3 数据行(Body) | 状态 | 背景 | 来源 | |------|------|------| | 奇数行 | `#0C1836` (ZS-004-09) | §24.3 | | 偶数行 | `#122347` (ZS-004-08) | §24.3 | | Hover | `rgba(22,119,255,0.08)` | §8.4.3 | | 选中行 | `rgba(22,119,255,0.16)` + 左 `2px solid #1677FF` | §8.3.2 | | 元素 | 色值 / 规格 | |------|-------------| | 单元格文字 | `14px Regular`,`#C5CFE0` (ZS-004-02) | | 行高 | `44px` | | 数字列(手机号 / 卡号等) | D-DIN / Arial,`#C5CFE0`,可右对齐 | | 行间分割线 | `1px solid #1A2F5A` (ZS-004-07) | ### 28.4 勾选列(Selection) | 元素 | 规格 | 来源 | |------|------|------| | 复选框 | 沿用 §16.3(面板内灰描边变体 §16.5) | §16 | | 表头全选框 | 支持半选(部分行选中) | §15.2.3 | | 列宽 | `48px`,居中 | — | | 选中行联动 | 勾选 → 行底色切换为「选中行」态 | §28.3 | ### 28.5 内联编辑单元格 单元格可切换为输入态(如「卡池地址 100 M」可编辑),校验失败显示红框 + 气泡。 | 状态 | 规格 | 来源 | |------|------|------| | 可编辑态 | 单元格内嵌 §14.1 小号输入框(高 `28px`) | §14.1 | | 带单位 | 数字 + 单位块(§21.5.5),单位 `M` 实心蓝 | §21.5.5 | | 错误态 | `1px solid #F5222D` + 外发光,下方 / 悬浮气泡提示「Table约束输入提示」`#F5222D` | §14.1.1 / §21.4.1 | | 气泡背景 | `#F5222D` 或暗底 `#122347` + 红字 | §1.1.2 | ### 28.6 状态列与操作列 | 列 | 规格 | 来源 | |------|------|------| | 状态(`● 普通` / `● 特殊`) | 圆点 + 文字标签,沿用 §29.3 圆点标签 | §29.3 | | 整体状态(`已完成` / `已失败`) | 实心 / 描边状态标签,沿用 §29.4 | §29.4 | | 操作(`查看 / 编辑 / 重置`) | §5.2.3 文本按钮,间距 `--spacing-3` (12px),无分隔符 | §5.3.3 | | 操作列对齐 | 通常右对齐或固定列 | — | ### 28.7 固定列 / 滚动 / 空态 | 行为 | 规则 | |------|------| | 横向滚动 | 列总宽超容器时横向滚动;首列(勾选)/ 末列(操作)可 `position: sticky` 固定 | | 固定列阴影 | 固定列边缘加 `4px` 渐变阴影 `rgba(6,14,36,0.6)` 提示可滚动 | | 空数据 | 表体居中「暂无数据」,`#6E88B0` (ZS-004-04) | | 加载中 | 表体覆盖半透明遮罩 `rgba(6,14,36,0.4)` + 居中旋转图标 `#1677FF` | | 分页 | 表格下方接 §13 分页 | ### 28.8 CSS Token 参考 ```css :root { --table-wrap-bg: #0C1836; /* ZS-004-09 */ --table-border: #1A2F5A; /* ZS-004-07 */ /* 表头 */ --table-head-bg: #122347; /* ZS-004-08 */ --table-head-text: #C5CFE0; /* ZS-004-02 */ --table-sort-idle: #4A6491; /* ZS-004-05 */ --table-sort-active: #4096FF; /* ZS-002-05 */ /* 数据行 */ --table-row-odd: #0C1836; /* ZS-004-09 */ --table-row-even: #122347; /* ZS-004-08 */ --table-row-hover: rgba(22,119,255,0.08); --table-row-selected: rgba(22,119,255,0.16); --table-row-selected-bar:#1677FF; /* ZS-002-06 */ --table-cell-text: #C5CFE0; /* ZS-004-02 */ --table-row-divider: #1A2F5A; /* ZS-004-07 */ /* 内联编辑错误 */ --table-edit-error: #F5222D; /* ZS-001-06 */ /* 操作列 */ --table-action-text: #4096FF; /* ZS-002-05 */ --table-action-hover: #1677FF; /* ZS-002-06 */ /* 空 / 加载 */ --table-empty-text: #6E88B0; /* ZS-004-04 */ --table-loading-mask: rgba(6,14,36,0.4); } ``` --- ## 29. 标签(Tag) > 对应设计稿「6.14 数据展示-标签」。分两大类:**标签形式**(文字按钮标签 / 图标+文字标签 / 圆点+文字标签 / 动态标签)与**状态标签**(描边 / 实心 / 图标三种风格,覆盖 未开始·等待中·进行中·已完成·已失败·待更新 六语义)。功能语义色见 §1.1.9 / §27.4。 ### 29.1 文字按钮标签 可点击的属性标签,用于重点突出标记。 | 状态 | 背景 | 文字 | 来源 | |------|------|------|------| | 默认 | `rgba(22,119,255,0.12)` | `#4096FF` (ZS-002-05) | — | | 禁用 | `rgba(22,119,255,0.06)` | `#4A6491` (ZS-004-05) | — | | 激活 / 选中 | `#1677FF` (ZS-002-06) | `#FFFFFF` | §1.1.6 | | 属性 | 取值 | |------|------| | 高度 | `24px` | | 圆角 | `2px`(§4.1) | | 内边距 | `2px 8px` | | 字号 | `12px Regular` | ### 29.2 图标 + 文字标签 前缀业务图标增强辨识(如 Ⓣ Twitter、✓ 完成)。 | 元素 | 色值 / 规格 | 来源 | |------|-------------|------| | 默认(描边) | 背景 `rgba(22,119,255,0.12)`,图标+文字 `#4096FF` | §29.1 | | 选中(实心) | 背景 `#1677FF` (ZS-002-06),图标+文字 `#FFFFFF` | — | | 图标 → 文字间距 | `--spacing-1` (4px) | §7.1 | | 图标尺寸 | `14px` | — | ### 29.3 圆点 + 文字标签 无底色,靠前缀圆点区分语义(属性多 / 复杂、又不需突出时用)。 | 语义 | 圆点色 | 文字 | 来源 | |------|--------|------|------| | 普通 | `#13C2C2` (ZS-003-06) | `#C5CFE0` (ZS-004-02) | §1.1.4 | | 特殊 | `#FAAD14`(警告橙,§27.4) | `#C5CFE0` | §27.4 | | 异常 | `#F5222D` (ZS-001-06) | `#C5CFE0` | §1.1.2 | | 属性 | 取值 | |------|------| | 圆点尺寸 | `6px`,正圆 | | 圆点 → 文字间距 | `--spacing-2` (8px) | | 字号 | `14px Regular` | ### 29.4 动态标签(可增删) 可动态添加 / 删除的标签集合(如筛选列表、关键词)。 ``` [ people.com.cn × ] [ +1 × ] [ + 标签 ] ``` | 元素 | 色值 / 规格 | 来源 | |------|-------------|------| | 标签底 | `rgba(22,119,255,0.12)`,文字 `#C5CFE0` (ZS-004-02) | — | | 关闭 `×` | `12px`,`#6E88B0`,hover `#FFFFFF` | §15.2.1 | | 折叠 `+N ×` | 溢出折叠(同 §15.2.1) | §15.2.1 | | 「+ 标签」新增钮 | `1px dashed #4096FF` (ZS-002-05) + 透明底 + `+ 标签` 蓝字 | §3.1.3 | | 新增钮 hover | 边框 + 文字 `#1677FF` (ZS-002-06) | — | | 标签间距 | `--spacing-1` (4px) | §7.1 | ### 29.5 状态标签(三风格 × 六语义) 六个语义统一映射到功能语义色(§27.4): | 语义 | 主色 | 来源 | |------|------|------| | 未开始 | `#4096FF` (ZS-002-05) 或中性灰 `#6E88B0` | §1.1.6 / ZS-004-04 | | 等待中 | `#13C2C2` (ZS-003-06) | §1.1.4 | | 进行中 | `#FAAD14`(警告橙,§27.4) | §27.4 | | 已完成 | `#52C41A`(成功绿,§27.4) | §27.4 | | 已失败 | `#F5222D` (ZS-001-06) | §1.1.2 | | 待更新 | `#1677FF` (ZS-002-06) | §1.1.6 | #### 29.5.1 风格 A — 描边(Outline) | 元素 | 规格 | |------|------| | 背景 | `transparent` 或语义色 `12%` 透明底 | | 边框 | `1px solid` 语义色 | | 文字 | 语义色 | | 高度 / 圆角 | `24px` / `2px` | #### 29.5.2 风格 B — 实心(Filled) | 元素 | 规格 | |------|------| | 背景 | 语义色 `24%`~`100%`(截图为浅色实心底) | | 文字 | 深色语义场用 `#FFFFFF`;浅底场用语义深色 | | 高度 / 圆角 | `24px` / `2px` | #### 29.5.3 风格 C — 图标 + 文字 前缀语义图标(⊖ 就绪 / ◷ 等待 / ◐ 进行 / ✓ 成功 / ✗ 失败 / ◷ 待更): | 元素 | 规格 | 来源 | |------|------|------| | 图标色 | 同语义色 | §27.4 | | 文字色 | 语义色或 `#C5CFE0` | — | | 图标尺寸 | `14px` | — | | 图标 → 文字间距 | `--spacing-1` (4px) | §7.1 | ### 29.6 CSS Token 参考 ```css :root { /* 语义色复用 §27.4 */ /* --func-success / --func-warning / --func-error / --func-info / --func-processing */ /* 文字 / 图标 / 圆点标签 */ --tag-soft-bg: rgba(22,119,255,0.12); --tag-soft-text: #4096FF; /* ZS-002-05 */ --tag-active-bg: #1677FF; /* ZS-002-06 */ --tag-active-text: #FFFFFF; --tag-disabled-text: #4A6491; /* ZS-004-05 */ --tag-dot-normal: #13C2C2; /* ZS-003-06 普通 */ --tag-dot-special: var(--func-warning); /* 特殊 */ --tag-dot-error: #F5222D; /* ZS-001-06 异常 */ /* 动态标签 */ --tag-close: #6E88B0; /* ZS-004-04 */ --tag-close-hover: #FFFFFF; --tag-add-border: #4096FF; /* ZS-002-05 虚线 */ --tag-add-hover: #1677FF; /* ZS-002-06 */ /* 状态标签语义 */ --status-pending: #4096FF; /* 未开始 ZS-002-05 */ --status-waiting: #13C2C2; /* 等待中 ZS-003-06 */ --status-running: var(--func-warning); /* 进行中 */ --status-done: var(--func-success); /* 已完成 */ --status-failed: #F5222D; /* 已失败 ZS-001-06 */ --status-update: #1677FF; /* 待更新 ZS-002-06 */ } ``` --- ## 30. 树形控件(Tree · 展示型) > 对应设计稿「6.16 数据展示-树形控件」。区别于 §19 树选择(下拉触发器形态),本节是**直接平铺在页面中的树**:带**虚线连接线**、`[+] / [-]` 方框展开器、节点复选框,且节点可**内联挂表单控件**(单选 / 日期 / 数字+单位)。节点状态与复选框沿用 §19 / §16,配色从 §1.1.3 渐蓝系(ZS-002)与 §1.1.5 深蓝系(ZS-004)取。 ### 30.1 容器 | 属性 | 取值 | 来源 | |------|------|------| | 容器背景 | `#0C1836` (ZS-004-09) | §3.1.1 | | 容器边框 | `1px solid #1A2F5A` (ZS-004-07) | — | | 容器圆角 | `4px` | §4.1 | | 容器内边距 | `--spacing-5` (24px) | §7.1 | ### 30.2 节点与连接线 ``` ☐ 一级 ├╌ ☐ 主账号贴文 ● 按照发文起始时间 [2021-12-09 📅] ○ 按照条数 前[最多24]条 │ ├╌ ☐ 贴文评论 前 [最多24] 条 │ ├╌ ☐ 评论账号列表 前 [最多24] 条 │ └╌ ☐ 转发账号列表 前 [最多24] 条 │ ├╌ ☐ 粉丝列表 前 [最多24] 条 │ └╌ ☐ 好友列表 前 [最多24] 条 ``` | 元素 | 色值 / 规格 | 来源 | |------|-------------|------| | 连接线 | `1px dashed #4A6491` (ZS-004-05),L 形连父子 | §6.1 虚线 | | 每级缩进 | `--spacing-5` (24px) | §7.1 | | 节点复选框 | 沿用 §16.3(面板内灰描边 §16.5) | §16 | | 节点文字 | `14px Regular`,`#C5CFE0` (ZS-004-02) | §19.3.2 | | 节点行高 | `≥ 40px`(含内联控件时自适应) | — | | 复选框 → 文字间距 | `--spacing-2` (8px) | §7.1 | ### 30.3 方框展开器(`[+] / [-]`) 带子树的节点用方框图标,区别于 §19 的纯三角箭头。 | 元素 | 色值 / 规格 | 来源 | |------|-------------|------| | 方框尺寸 | `14px × 14px`,`1px solid #6E88B0` (ZS-004-04) | §19.3.1 | | 方框背景 | `transparent` | — | | 符号 `+` / `-` | `#6E88B0`,居中 | — | | Hover | 边框 + 符号 `#4096FF` (ZS-002-05) | §1.1.6 | | 折叠态 `+` / 展开态 `-` | 点击切换子树显隐 | — | | 方框 → 连接线 | 方框压在虚线连接点上 | — | ### 30.4 节点内联表单控件 节点右侧可挂载与该节点关联的配置控件,全部复用既有规范: | 控件 | 复用 | 备注 | |------|------|------| | 单选(`● 按照发文起始时间` / `○ 按照条数`) | §16.2 Radio | 未选 `#4096FF` 描边,已选实心 `#1677FF` | | 日期(`2021-12-09 📅`) | §17.1 日期触发器 | 高 `28px` 小号 | | 数字 + 单位(`前 [最多24] 条`) | §14.1 输入 + §21.5.5 单位 | 前后缀文字「前」「条」`#6E88B0` | | 前后缀文字 | `14px Regular`,`#6E88B0` (ZS-004-04) | — | | 控件与节点文字横向间距 | `--spacing-3` (12px) | §7.1 | | 多控件之间间距 | `--spacing-4` (16px) | §7.1 | ### 30.5 复选父子联动 | 行为 | 规则 | 来源 | |------|------|------| | 勾父节点 | 勾选其全部子孙 | §18.4.2 | | 子项部分选中 | 父节点显示**半选**(中央 `8px×2px` 白横线) | §16.3 | | 全选 / 全不选 | 顶层「一级」节点等价全选开关 | §15.2.3 | ### 30.6 纯展示树变体(右图) 无内联控件、仅 `[+]/[-]` + 复选框 + 「一级 / 二级」层级的精简树: | 元素 | 规格 | |------|------| | 节点 | 复选框 + 文字(`一级` / `二级`) | | 展开器 | `[+] / [-]` 方框(同 §30.3) | | 连接线 | `1px dashed #4A6491` | | 选中 | 复选框实心 `#1677FF` + 白勾;行可叠 `rgba(22,119,255,0.08)` hover | | 节点行高 | `36px` | ### 30.7 与 §19 树选择的差异 | 维度 | §19 树选择(TreeSelect) | §30 树形控件(Tree) | |------|--------------------------|----------------------| | 形态 | 触发器 + 下拉面板 | 直接平铺页面 | | 展开器 | 三角 `▸ / ▾` | 方框 `[+] / [-]` | | 连接线 | 无(靠缩进) | 有,`1px dashed` | | 选中表现 | 整行蓝底高亮 | 复选框示态为主 | | 内联控件 | 无 | 支持(单选 / 日期 / 数字+单位) | | 用途 | 表单取值 | 数据展示 / 多维配置 | ### 30.8 CSS Token 参考 ```css :root { --tree2-wrap-bg: #0C1836; /* ZS-004-09 */ --tree2-wrap-border: #1A2F5A; /* ZS-004-07 */ --tree2-line: #4A6491; /* ZS-004-05 虚线连接 */ --tree2-indent: 24px; --tree2-node-text: #C5CFE0; /* ZS-004-02 */ --tree2-row-hover: rgba(22,119,255,0.08); /* 方框展开器 */ --tree2-toggle-border: #6E88B0; /* ZS-004-04 */ --tree2-toggle-symbol: #6E88B0; --tree2-toggle-hover: #4096FF; /* ZS-002-05 */ /* 复选框(复用 §16) */ --tree2-check-border: #6E88B0; /* ZS-004-04 */ --tree2-check-fill: #1677FF; /* ZS-002-06 */ --tree2-check-mark: #FFFFFF; /* 内联控件前后缀文字 */ --tree2-affix-text: #6E88B0; /* ZS-004-04 */ } ``` --- ## 31. 时间轴(长文本:横向 / 纵向) > 对应设计稿「6.19 数据展示-时间轴(上)/(下)」。在 §26 时间轴基础上扩展两种**承载长文本**的形态:**横向时间轴**(节点沿水平轴上下交替展开长文本)与**纵向长文本时间轴**(日期 + 富内容卡片)。节点圆 / 连接线 / 全局时间轴沿用 §26,配色从 §1.1.3 渐蓝系(ZS-002)与 §1.1.5 深蓝系(ZS-004)取,年份强调点引入 §1.1.2 渐红系。 ### 31.1 横向时间轴(横向长文本) 节点挂在一条水平主轴上,文本块**上下交替**分布,避免拥挤;轴上按时间标注年份 / 日期锚点。 ``` 2023年1月7日 2021年7月18日 2002年1月 长文本说明… 长文本说明… 长文本说明… ▲ ▲ ▲ ───┼──────────┼─────────┼──────────┼─────────┼──── ← 水平主轴 │ ▼ │ ▼ │ 长文本… 长文本… 2021年 2016年8月 ``` | 元素 | 色值 / 规格 | 来源 | |------|-------------|------| | 水平主轴 | `1px solid #2D4473` (ZS-004-06) | §6.1 | | 节点三角 / 圆点 | `8px`,`#1677FF` (ZS-002-06);指向轴的小三角 | §26.1 | | 年份 / 日期锚点(强调) | `14px Bold`,`#F5222D`(红,ZS-001-06)或 `#4096FF`(蓝) | §1.1.2 / §1.1.6 | | 普通时间标题 | `14px Medium`,`#C5CFE0` (ZS-004-02) | — | | 长文本正文 | `14px Regular`,`#6E88B0` (ZS-004-04),行高 `1.6` | — | | 文本块背景(可选卡片) | `#122347` (ZS-004-08) + `1px solid #1A2F5A` + 圆角 `4px` | §3.1.2 | | 节点水平间距 | 自适应等分,最小 `--spacing-7` (40px) | §7.1 | | 文本块 → 轴间距 | `--spacing-3` (12px) | §7.1 | | 横向滚动 | 节点超容器宽时横向滚动,可配 §26.3 全局时间轴联动缩放 | §26.3 | ### 31.2 纵向长文本时间轴 左侧时间轴线,每个节点对应一张**富内容卡片**(缩略图 / 头像 + 标签 + 长正文)。 ``` ● 2023-09-09 ┊ ┌──────────────────────────────────────────┐ ┊ │ 👤 人物名 [标签] │ ┊ │ 长正文长正文长正文长正文长正文长正文… │ ┊ └──────────────────────────────────────────┘ ● 2023-09-09 ┊ ┌──────────────────────────────────────────┐ ┊ │ 🖼 缩略图 [标签] │ ┊ │ 长正文… │ ┊ └──────────────────────────────────────────┘ ``` | 元素 | 色值 / 规格 | 来源 | |------|-------------|------| | 轴线 | `1px solid #2D4473` (ZS-004-06),纵向贯穿 | §26.1 | | 节点圆点 | 实心 `8px`,`#1677FF` (ZS-002-06) | §26.1 | | 日期标题 | `14px Medium`,`#4096FF` (ZS-002-05) | §1.1.6 | | 卡片容器 | `#122347` (ZS-004-08) + `1px solid #1A2F5A` + 圆角 `4px` | §3.1.2 | | 卡片内边距 | `--spacing-3` (12px) | §7.1 | | 头像 / 缩略图 | `40px`(头像圆 / 缩略方),底 `#1A2F5A` | §22.3.1 | | 主名 / 来源 | `14px Medium`,`#C5CFE0` (ZS-004-02) | — | | 状态标签 | 沿用 §29 标签(语义色见 §27.4) | §29 | | 长正文 | `14px Regular`,`#6E88B0` (ZS-004-04),行高 `1.6`,可「展开」折叠(§23.4) | §23.4 | | 日期 → 卡片间距 | `--spacing-2` (8px) | §7.1 | | 节点垂直间距 | `--spacing-6` (32px) | §7.1 | ### 31.3 选用决策 | 场景 | 选择 | |------|------| | 短事件流(标题 + 时间) | §26.1 基础时间轴点 | | 节点带结构化小卡 | §26.2 卡片式时间轴 | | 跨度大、按时间轴铺陈长文本 | §31.1 横向时间轴 | | 每节点是图文长内容(资讯 / 档案) | §31.2 纵向长文本时间轴 | | 需缩放 / 区间筛选 | 叠加 §26.3 全局时间轴 | ### 31.4 CSS Token 参考 ```css :root { /* 横向长文本 */ --htl-axis: #2D4473; /* ZS-004-06 主轴 */ --htl-node: #1677FF; /* ZS-002-06 */ --htl-anchor-emph: #F5222D; /* ZS-001-06 年份强调 */ --htl-anchor-blue: #4096FF; /* ZS-002-05 */ --htl-title: #C5CFE0; /* ZS-004-02 */ --htl-body: #6E88B0; /* ZS-004-04 */ --htl-card-bg: #122347; /* ZS-004-08 */ --htl-card-border: #1A2F5A; /* ZS-004-07 */ /* 纵向长文本 */ --vtl-line: #2D4473; /* ZS-004-06 */ --vtl-node: #1677FF; /* ZS-002-06 */ --vtl-date: #4096FF; /* ZS-002-05 */ --vtl-card-bg: #122347; /* ZS-004-08 */ --vtl-card-border: #1A2F5A; /* ZS-004-07 */ --vtl-avatar-bg: #1A2F5A; /* ZS-004-07 */ --vtl-name: #C5CFE0; /* ZS-004-02 */ --vtl-body: #6E88B0; /* ZS-004-04 */ } ``` --- ## 32. 对话框(Dialog / 确认框) > 对应设计稿「7.1 消息提醒-对话框」。轻量确认弹窗,承载一句提示 + 「取消 / 确定」。是 §21 弹出式窗口的**精简变体**:标题用**左竖条**而非居中、主体仅一行信息、无 Tabs / 步骤条 / 表单。遮罩 / 容器 / 底部按钮沿用 §21,配色从 §1.1.3 渐蓝系(ZS-002)与 §1.1.5 深蓝系(ZS-004)取。 ### 32.1 容器与遮罩 | 属性 | 取值 | 来源 | |------|------|------| | 遮罩 | `rgba(6,14,36,0.6)` | §21.1 | | 容器背景 | `#0C1836` (ZS-004-09)(也可用 §21 渐变) | §21.1 | | 容器边框 | `1px solid #1A2F5A` (ZS-004-07) | — | | 圆角 | `4px` | §4.1 | | 阴影 | `0 8px 32px rgba(6,14,36,0.6)`(三级) | §3.1.4 | | 宽度 | `400px`(小) | — | | 内边距 | `0`(标题栏 / 主体 / 底部各自带 padding) | — | ### 32.2 标题栏 | 元素 | 色值 / 规格 | 来源 | |------|-------------|------| | 标题栏背景 | `#122347` (ZS-004-08) | §3.1.2 | | 标题左竖条 | `3px × 14px`,`#1677FF` (ZS-002-06) | §22.1 | | 标题文字("提示") | `16px Medium`,`#FFFFFF` | — | | 关闭 `×` | `16px`,`#6E88B0`,hover `#4096FF` | §5.2.4 | | 标题栏高度 | `48px` | — | | 标题栏底分割线 | `1px solid #1A2F5A` (ZS-004-07) | §6.1 | | 水平 padding | `--spacing-4` (16px) | §7.1 | ### 32.3 主体与底部 | 元素 | 色值 / 规格 | 来源 | |------|-------------|------| | 主体文字("这是一段信息") | `14px Regular`,`#C5CFE0` (ZS-004-02) | — | | 主体内边距 | `--spacing-4` (16px) | §7.1 | | 主体最小高度 | `80px` | — | | 底部按钮区 | 右对齐,右内 padding `--spacing-4` (16px),下内 padding `--spacing-4` | §7.1 | | 「取消」 | §5.2.2 默认按钮,小号 `28px` | §5.2.2 | | 「确定」 | §5.2.1 主按钮,小号 `28px` | §5.2.1 | | 按钮间距 | `--spacing-2` (8px) | §7.1 | ### 32.4 类型变体 对话框可携带语义图标(同 §27.4 / §33 语义色)置于主体文字前: | 类型 | 图标 | 主色 | |------|------|------| | 信息(默认) | ⓘ `#1677FF` (ZS-002-06) | 蓝 | | 成功 | ✓ `--func-success` | 绿 | | 警告 | ! `--func-warning` | 橙 | | 错误 | ✗ `#F5222D` (ZS-001-06) | 红 | ### 32.5 与 §21 的差异 / CSS Token | 维度 | §21 弹出式窗口 | §32 对话框 | |------|---------------|-----------| | 标题 | 居中 + 渐变下划线 | 左竖条 + 左对齐 | | 内容 | Tabs / 步骤条 / 多字段表单 | 一句提示(可带语义图标) | | 宽度 | `480~800px` | `400px` | | 用途 | 编辑 / 多步流程 | 确认 / 告知 | ```css :root { --dialog-bg: #0C1836; /* ZS-004-09 */ --dialog-border: #1A2F5A; /* ZS-004-07 */ --dialog-head-bg: #122347; /* ZS-004-08 */ --dialog-title-bar: #1677FF; /* ZS-002-06 左竖条 */ --dialog-title-text: #FFFFFF; --dialog-close: #6E88B0; /* ZS-004-04 */ --dialog-close-hover: #4096FF; /* ZS-002-05 */ --dialog-body-text: #C5CFE0; /* ZS-004-02 */ --dialog-divider: #1A2F5A; /* ZS-004-07 */ } ``` --- ## 33. 全局提示(Message / Alert) > 对应设计稿「7.3 消息提醒-全局提示」。顶部居中、自动消失、不打断操作的轻量级反馈。覆盖**信息 / 成功 / 警告 / 错误**四语义,每条分**带关闭 ×** 与 **带「查看详情」操作** 两变体。语义色统一引用 §1.1.9 / §27.4 功能语义色。 ### 33.1 触发按钮(语义实心钮) 页面侧触发演示用的四颗实心语义按钮: | 类型 | 背景 | 图标 + 文字 | 来源 | |------|------|------------|------| | 信息提示 | `#1677FF` (ZS-002-06) | ⓘ + 白字 | §1.1.6 | | 成功提示 | `--func-success`(绿) | ✓ + 白字 | §27.4 | | 警告提示 | `--func-warning`(橙) | ! + 白字 | §27.4 | | 错误提示 | `#F5222D` (ZS-001-06) | ✗ + 白字 | §1.1.2 | 按钮规格沿用 §5.2.1(高 `32px`,圆角 `2px`,前缀图标 `--spacing-1` 间距)。 ### 33.2 提示条(Message 单条) ``` ┌────────────────────────────────────────────────┐ │ ✓ 恭喜!你所提交的信息已经审核通过。 × │ ← 变体 A:带关闭 └────────────────────────────────────────────────┘ ┌────────────────────────────────────────────────┐ │ ✓ 恭喜!你所提交的信息已经审核通过。 查看详情 │ ← 变体 B:带操作 └────────────────────────────────────────────────┘ ``` #### 33.2.1 通用规格 | 属性 | 取值 | 来源 | |------|------|------| | 高度 | `40px`(单行) | — | | 圆角 | `2px` | §4.1 | | 水平 padding | `--spacing-4` (16px) | §7.1 | | 语义图标 | `16px`,置于最左,语义色 | §27.4 | | 图标 → 文字间距 | `--spacing-2` (8px) | §7.1 | | 正文文字 | `14px Regular`,`#C5CFE0` (ZS-004-02) | — | | 左侧强调边 | `3px solid` 语义色(可选,增强辨识) | §6.1 | | 顶部弹出动画 | 顶部居中 `translateY(-100%) → 0` + `opacity`,`200ms ease-out` | §8.5 | | 自动消失 | 默认 `3s` 后淡出(错误类可设不自动消失) | — | #### 33.2.2 四语义底色 | 语义 | 背景(约 12~16% 透明语义底) | 图标 / 强调色 | 来源 | |------|------------------------------|--------------|------| | 成功 | `rgba(82,196,26,0.16)` | `--func-success` ✓ | §27.4 | | 错误 | `rgba(245,34,45,0.16)` | `#F5222D` ✗ (ZS-001-06) | §1.1.2 | | 信息 | `rgba(22,119,255,0.16)` | `#1677FF` ⓘ (ZS-002-06) | §1.1.6 | | 警告 | `rgba(250,173,20,0.16)` | `--func-warning` ! | §27.4 | > 底色叠在页面深蓝背景上呈低饱和语义色块;文字保持 `#C5CFE0` 高可读,仅图标与边用满饱和语义色。 #### 33.2.3 右侧元素(二选一) | 变体 | 元素 | 规格 | 来源 | |------|------|------|------| | A 带关闭 | `×` | `14px`,`#6E88B0`,hover `#FFFFFF` | §15.2.1 | | B 带操作 | 「查看详情」 | §5.2.3 文本按钮,**颜色取所在语义色**(成功=绿 / 错误=红 / 信息=蓝 / 警告=橙),hover 加深 | §5.2.3 | ### 33.3 多条堆叠 | 规则 | 取值 | |------|------| | 堆叠方向 | 顶部居中,新消息在下 / 旧消息上推(或反之,跟随实现) | | 条间距 | `--spacing-2` (8px) | | 最大同时显示 | 建议 `≤ 5` 条,超出排队 | ### 33.4 与 §32 对话框的区别 | 维度 | §33 全局提示 | §32 对话框 | |------|-------------|-----------| | 打断性 | 不打断(自动消失) | 打断(需用户确认) | | 位置 | 顶部居中悬浮 | 屏幕居中 + 遮罩 | | 操作 | 至多一个「查看详情」 | 取消 / 确定 | | 用途 | 操作结果即时反馈 | 二次确认 / 重要告知 | ### 33.5 CSS Token 参考 ```css :root { /* 语义色复用 §27.4:--func-success / --func-warning / --func-error / --func-info */ /* 提示条通用 */ --msg-text: #C5CFE0; /* ZS-004-02 */ --msg-close: #6E88B0; /* ZS-004-04 */ --msg-close-hover: #FFFFFF; /* 四语义底色 */ --msg-success-bg: rgba(82,196,26,0.16); --msg-success-fg: #52C41A; /* --func-success */ --msg-error-bg: rgba(245,34,45,0.16); --msg-error-fg: #F5222D; /* ZS-001-06 */ --msg-info-bg: rgba(22,119,255,0.16); --msg-info-fg: #1677FF; /* ZS-002-06 */ --msg-warning-bg: rgba(250,173,20,0.16); --msg-warning-fg: #FAAD14; /* --func-warning */ } ``` --- ## 34. 气泡确认(Popconfirm) > 对应设计稿「7.4 消息提醒-气泡确认」。锚定在触发元素(如「删除」按钮)上的小型确认气泡,带指向箭头 + 问号图标 + 一句确认语 + 「取消 / 确定」。比 §32 对话框更轻、无遮罩、就地确认。配色从 §1.1.3 渐蓝系(ZS-002)与 §1.1.5 深蓝系(ZS-004)取,问号图标用 §27.4 警告橙。 ### 34.1 结构 ``` [ 删除 ] ← 触发按钮 ▲ ← 指向箭头 ┌─────────────────────┐ │ ❓ 这是一段内容确定删除吗?│ │ 取消 [确定] │ └─────────────────────┘ ``` ### 34.2 气泡容器 | 属性 | 取值 | 来源 | |------|------|------| | 背景 | `#0C1836` (ZS-004-09)(或 `#122347`) | §3.1 | | 边框 | `1px solid #1A2F5A` (ZS-004-07) | — | | 圆角 | `4px` | §4.1 | | 阴影 | `0 4px 16px rgba(6,14,36,0.6)`(三级阴影变体) | §3.1.4 | | 内边距 | `--spacing-3` (12px) | §7.1 | | 最小宽度 | `200px` | — | | 指向箭头 | `8px` 三角,与容器同底色 + 同边框,指向触发元素 | — | | 与触发元素间距 | `--spacing-2` (8px) | §7.1 | ### 34.3 内容与按钮 | 元素 | 色值 / 规格 | 来源 | |------|-------------|------| | 问号图标 ❓ | `16px`,圆形实心 `--func-warning`(橙),白色 `?` | §27.4 | | 图标 → 文字间距 | `--spacing-2` (8px) | §7.1 | | 确认文字 | `14px Regular`,`#C5CFE0` (ZS-004-02) | — | | 文字 → 按钮区纵向间距 | `--spacing-3` (12px) | §7.1 | | 按钮区对齐 | 右对齐 | — | | 「取消」 | §5.2.3 文本按钮(`#4096FF`,hover `#1677FF`)或 §5.2.2 默认按钮小号 | §5.2.3 | | 「确定」 | §5.2.1 主按钮,小号 `28px` | §5.2.1 | | 按钮间距 | `--spacing-2` (8px) | §7.1 | ### 34.4 弹出方位与交互 | 行为 | 规则 | |------|------| | 方位 | 默认在触发元素**正下方**(`top` 箭头);空间不足时自动翻转到上 / 左 / 右 | | 打开 | `scale(0.95)→1` + `opacity 0→1`,`transform-origin` 指向箭头,`200ms ease-out` | | 关闭 | 点「取消」/「确定」/ 点击气泡外部 / `Esc` | | 「确定」 | 执行危险操作(如删除)后关闭;可在确认按钮上叠 §5.4.2 Loading | | 无遮罩 | 不阻塞背景,仅就地确认 | ### 34.5 与 §32 对话框的区别 | 维度 | §34 气泡确认 | §32 对话框 | |------|-------------|-----------| | 锚定 | 贴触发元素(带箭头) | 屏幕居中 | | 遮罩 | 无 | 有 | | 体量 | 极小(一句话 + 两钮) | 小弹窗(标题栏 + 主体 + 底部) | | 用途 | 行内危险操作就地确认(删除 / 重置) | 较正式的确认 / 告知 | ### 34.6 CSS Token 参考 ```css :root { --popconfirm-bg: #0C1836; /* ZS-004-09 */ --popconfirm-border: #1A2F5A; /* ZS-004-07 */ --popconfirm-shadow: 0 4px 16px rgba(6,14,36,0.6); --popconfirm-icon: #FAAD14; /* --func-warning 问号 */ --popconfirm-text: #C5CFE0; /* ZS-004-02 */ --popconfirm-cancel: #4096FF; /* ZS-002-05 文本按钮 */ --popconfirm-cancel-hover: #1677FF;/* ZS-002-06 */ --popconfirm-ok-bg: #1677FF; /* ZS-002-06 主按钮 */ } ``` ---