Design System: 科技能量线
一套与页面主题、背景颜色和使用场景解耦的动态科技线设计语言。主角是线路的几何、光脉冲与运动节奏;背景只决定线路配色和对比强度。
1. 核心视觉
科技线由克制的结构线和沿路径移动的单段能量脉冲构成。它应让人联想到 PCB 走线、信号传输和精密电子系统,而不是霓虹灯、游戏 HUD 或粒子特效。
- 结构: 纤细、理性、有明确方向。
- 动态: 持续但安静,运动比闪烁更重要。
- 层次: 基础线负责描述路径,能量脉冲负责提供生命感。
- 密度: 低至中等;留白是设计的一部分。
- 核心原则: 用“细线 + 单段流光”表达科技感,不依赖特定背景、装饰图标或圆形节点。
2. 线路几何语法
路径结构
- 以长水平段为主要骨架,通过短斜线改变高度。
- 转向角优先使用
45°和135°,模拟 PCB 走线。 - 单条线路建议包含
3–6个水平段与1–3组斜向转折。 - 线路可从容器边缘之外进入或离开,避免出现刻意的短线端点。
- 多条线路应具有不同长度、转折位置和起止位置。
- 相邻线路保持明显间距,不交叉、不缠绕、不形成随机蛛网。
- 线路可横向、纵向或局部环绕内容,但同一画面应保持一致的主要方向。
构图规则
- 桌面区域通常使用
3–6条线路。 - 移动区域通常使用
2–4条线路。 - 不平均分布线路;通过疏密变化形成自然节奏。
- 线路不应切穿标题、人脸、按钮、关键数字等视觉焦点。
- 作为局部装饰时,允许线路只占据容器的一角或一侧,无须铺满页面。
- 静态线宽建议
1–1.5px,任何静态线路不应粗于4px。
明确禁止
- 不在转折处添加圆球、圆环、焊盘或呼吸节点。
- 不添加箭头、六边形、雷达圈、随机数字和伪代码标签。
- 不把线路排列成完全等距的网格。
- 不使用大量碎线制造噪声。
- 不通过复杂路径本身炫技;视觉重点始终是能量沿路径移动。
3. 组件分层
一条完整科技线由三层组成,三层使用完全相同的 SVG 路径:
基础线路 Trace
- 描述线路结构。
- 线宽
1–1.5px。 - 与背景保持低至中等对比。
线路泛光 Trace Glow
- 放置在基础线后方或紧邻其上。
- 线宽约为基础线的
1.8–2.2倍。 - 透明度
0.08–0.16。 - 高斯模糊
2–4px。 - 浅色背景或复杂图片背景下可完全关闭。
移动能量 Energy Pulse
- 位于最上层。
- 线宽约为基础线的
1.8–2.2倍,推荐2.4–3px。 - 使用“透明 → 主题色 → 高亮核心 → 主题色 → 透明”的线性渐变。
- 端点使用
stroke-linecap: round。 - 任意时刻每条线路只显示一段主要脉冲。
4. 能量脉冲
外观
透明 → 主题色弱光 → 高亮核心 → 主题色弱光 → 透明
- 每条路径设置
pathLength="100",统一不同路径的动画尺度。 - 推荐
stroke-dasharray: 11 89,即约11%可见、89%留空。 - 可见脉冲长度建议控制在路径总长的
8%–16%。 - 高亮核心应短而集中,不能让整段脉冲都呈现同等亮度。
- 光晕模糊建议
1.2–2px,并与清晰原线合并。 - 能量不是均匀虚线,也不是连续点阵。
标准动画
.energy {
fill: none;
stroke-width: 2.8;
stroke-linecap: round;
stroke-dasharray: 11 89;
animation: energy-flow var(--flow-duration) linear infinite;
animation-delay: var(--flow-delay);
}
@keyframes energy-flow {
from { stroke-dashoffset: 100; }
to { stroke-dashoffset: 0; }
}
运动节奏
- 单次循环建议
6–13s。 - 多条线路必须使用不同速度和负延迟。
- 负延迟使页面加载时脉冲已分布在不同位置,避免同时从端点出现。
- 相邻线路可交替使用正向和反向运动。
- 速度差异应自然,避免完全相同或整齐的倍数关系。
- 动画必须连续,循环点不能闪烁、停顿或跳回。
- 科技线是环境动态,不应随着鼠标高速追逐或剧烈加速。
推荐节奏样例:
| 线路 | 时长 | 延迟 | 方向 |
|---|---|---|---|
| Trace 01 | 7.2s |
-1.1s |
正向 |
| Trace 02 | 10.8s |
-4.8s |
反向 |
| Trace 03 | 6.4s |
-3.2s |
正向 |
| Trace 04 | 12.6s |
-7s |
反向 |
5. 配色与背景的关系
科技线不规定页面背景色。先确定宿主背景,再从一个主题色推导基础线、泛光和能量核心。
通用配色逻辑
- 主题色: 选择一个能代表产品或场景的单一色相。
- 基础线: 主题色向背景色混合,使其只比背景高一个视觉层级。
- 泛光: 使用主题色,但保持低透明度。
- 能量主体: 使用主题色的明亮版本。
- 能量核心: 使用背景中可见度最高的近白或近黑高光。
- 同一组科技线只使用一个主题色相;白色或深色核心不计为第二强调色。
深色背景
- 基础线使用主题色的暗化版本,建议透明度
0.45–0.75。 - 能量主体使用明亮主题色。
- 能量核心使用近白色,可带少量主题色色相。
- 允许低透明度外发光。
- 示例:
- 基础线:
#0A5268 - 泛光:
rgba(0, 217, 255, 0.13) - 能量:
#00EAFF - 核心:
#FFFFFF
- 基础线:
浅色背景
- 基础线使用主题色的深色版本,避免浅线消失。
- 能量主体使用更深、更饱和的主题色。
- 能量核心使用接近墨色的深色高光,而不是白色。
- 关闭或大幅减弱外发光,优先使用清晰描边。
- 可通过
mix-blend-mode: multiply改善与浅色表面的融合,但需验证浏览器表现。 - 示例:
- 基础线:
rgba(8, 82, 104, 0.38) - 能量:
#007F99 - 核心:
#032D36
- 基础线:
彩色背景
- 线路主题色必须与背景保持明确的明度差,不能只依赖色相差。
- 背景饱和度较高时,优先使用近白或近黑线路方案。
- 避免同时出现互补色霓虹效果。
- 如背景颜色变化较大,可在科技线下方使用非常轻的局部遮罩,而不是更强的发光。
图片、视频或复杂纹理背景
- 先降低线路所在区域的背景细节或对比,再放置科技线。
- 基础线应保持克制,能量脉冲需有清晰轮廓。
- 可为整组线路使用局部透明遮罩或轻微背景模糊。
- 禁止通过不断加粗、加亮、加外发光来对抗复杂背景。
- 若始终无法保证可读性,应减少线路数量或更换放置区域。
对比度目标
- 基础线只需“可感知”,不应与正文或交互组件竞争。
- 能量脉冲必须明显高于基础线,但面积保持很小。
- 在静态截图中仍应看得见路径;在动态状态下第一眼应注意到移动,而不是发光强度。
6. 可配置设计令牌
推荐通过 CSS 变量让科技线适配不同主题:
.tech-lines {
--trace-color: rgba(10, 82, 104, 0.72);
--trace-glow-color: rgba(0, 217, 255, 0.13);
--energy-color: #00eaff;
--energy-core: #ffffff;
--trace-width: 1.5;
--glow-width: 3;
--energy-width: 2.8;
--trace-opacity: 1;
--glow-blur: 3;
--energy-blur: 1.8;
--pulse-length: 11;
}
实际项目只需替换颜色令牌,无需改变路径几何和动画逻辑。
7. 使用场景
科技线可以作为:
- 页面或局部区域的环境动态层。
- Hero、数据面板、登录页或产品展示区的边缘装饰。
- 卡片之间的信号连接线。
- 图表、设备拓扑或流程状态的动态路径。
- 品牌片头、视频封面或展台屏幕中的持续运动元素。
作为背景使用时,科技线应位于内容层之后;作为信息连接线使用时,可提高基础线对比,但必须保持同一几何与动画语言。
8. 响应式与容器适配
- 科技线既可全屏,也可放入任意相对定位容器。
- SVG 使用
width: 100%; height: 100%。 - 裁切式铺满使用
preserveAspectRatio="xMidYMid slice"。 - 需要完整显示全部线路时使用
preserveAspectRatio="xMidYMid meet"。 - 使用
vector-effect: non-scaling-stroke保持不同尺寸下的线宽一致。 - 小容器中减少转折和线路数量,不应直接缩小复杂的桌面构图。
- 禁止科技线导致页面横向滚动。
9. 实现与性能
- 优先使用单个 SVG 管理同一组线路。
- 路径放入
<defs>,通过<use>复用三层视觉。 <defs>中的路径本身不要携带.trace样式,避免覆盖<use>实例的能量样式。- 优先使用 CSS
stroke-dashoffset,不使用 JavaScript 逐帧修改坐标。 - 同屏持续运动的线路建议不超过
8条。 - 控制 SVG filter 的范围,避免超大模糊区域。
- 不为能量脉冲创建大量 DOM 粒子。
- 若设备启用“减少动态效果”,允许停止脉冲,只保留静态线路。
10. 可访问性与内容关系
- 装饰性科技线使用
aria-hidden="true"。 - 承载实际数据关系的线路应提供可访问名称或文字说明。
- 科技线不拦截鼠标事件:
pointer-events: none。 - 不影响按钮焦点、表单错误和状态提示的识别。
- 不产生快速闪烁或高频亮度变化。
- 内容区域可通过遮罩降低线路透明度,但不需要修改整组科技线的设计语言。
11. 禁用模式
- 转折点圆球、圆环、焊盘和呼吸灯。
- 均匀虚线或连续点阵假装能量流。
- 多色霓虹、彩虹渐变和紫蓝赛博朋克套色。
- 密集粒子、数字雨和扫描线同时叠加。
- 粗线、剧烈闪烁和完全同步的速度。
- 每条线路等长、等距、等速。
- 无意义的 HUD 刻度、雷达圈、六边形和伪代码。
- 为适配背景无限增加发光强度。
- 使用
top、left、width或height驱动逐帧动画。 - 让装饰线路压过正文、产品或交互内容。
12. 验收标准
- 更换深色、浅色或品牌色背景后,线路几何和动画逻辑无需重做。
- 静态状态可辨认完整路径,动态状态可清楚感知能量移动。
- 基础线低调,能量脉冲醒目但不刺眼。
- 多条线路的速度、位置和方向具有自然差异。
- 画面中不存在装饰性圆球节点。
- 循环播放一分钟后没有明显跳变、闪断或同步感。
- 科技线可以作为独立组件用于全屏背景、局部容器或信息连接场景。