色系收敛 · 变量化 · 根治

全站色板规范与收敛报告

旧国风暗绿套装 → 唯一标准色板  ·  硬编码色值 → CSS 变量  ·  未来再不会出现"各种颜色不一样"
2026-10-08  |  息壤金瞳科技

① 病根定位 为什么要做这一步

上一轮已把"红系杂色"清零,但色系层面的根本问题仍在。全站色系归族扫描发现: 两套完整色系套装在 300 页里并存——旧的国风暗绿套装(一套 8 色,铺在 200+ 页)与新建的标准色板同时存在。 这才是王先生看到"各种颜色不一样"的深层原因。

色系角色旧套装(残留 · 占大头)新标准板(唯一口径)收敛后
主绿#3a5a4e · 1016 次 · 222 页 #4d6558 --qing已归位
深绿#2c4740 · 541 次 #365247已归位
暖灰#57544e · 634 次 #4f5450已归位
金#a8894f · 539 次 #9a8455 --gold已归位
中灰#98948c · 501 次 #8d918f --mute已归位
浅底#f4f3f0 · 625 次 #fafaf8 --paper已归位

② 唯一标准色板 全站口径来源 assets/common.css

纸底(宣纸国风 · 浅底)

宣纸白
#fafaf8
--paper
宣纸浅
#f4f4f1
--paper2
宣纸中
#ededea
--paper3
宣纸深
#e5e5e1
--paper4

墨色层次

主墨
#23282d
--ink
次墨
#4b545b
--ink3
淡墨
#8d918f
--mute
暖墨灰
#4f5450
(原 57544e)

品牌色

黛蓝
#41586a
--dai
青绿
#4d6558
--qing
国风金
#9a8455
--gold
亮金
#b89a63
--gold2

语义色(中式:涨红跌绿)

涨 · 红
#c0392b
--up
跌 · 绿
#1e8e5a
--down
警示
#c9862b
--warn
暗金大屏底
#0B0F14
body.dark

③ 本轮收敛成果 两轮替换 · 已复扫验证

6015
套装统一替换处数
288 页 · 旧套装整族归位
2412
硬编码 → var() 变量化
230 页 · 以后改一处全站生效
0
变量自循环
323 页含 var 全部安全
0
无定义危险页
全站 var 均有兜底
收敛动作规模技术要点状态
旧套装整族 → 标准板288 页 / 6015 处按页性质分流:浅底页全量映射;暗底页走安全子集,保护暗金大屏亮金 #c9a961完成
硬编码色值 → var()230 页 / 2412 处只改「属性值位置」,严格排除 CSS 变量定义行(避免 --paper:var(--paper) 自循环)完成
本地兜底变量注入14 页补齐每页 <head> 注入 :root 变量块 → 本地双击打开 / 离线 / common.css 未注入时都不失效完成
12 路侦察兵回归234 页死链 0 / 空白 0 / 报错 0全绿

④ 安全设计 为什么可以放心

风险点识别应对
暗金大屏亮金被改暗暗底页的 #c9a961 是大屏专属亮金暗底页走安全子集,跳过全部亮色/亮金,仅改中性灰与浅底色
CSS 变量自循环试点验证时发现 --paper:var(--paper) 会造成变量全废正则加属性名约束(不得以 -- 开头),变量定义行一律跳过
本地打开变量失效直接双击 HTML 不走服务端,common.css 不注入每页注入 :root 兜底块,与 common.css 完全一致
JS 数据 / 图形色被误改色值在 JS 数组、字符串、SVG 属性中只匹配 属性名: #hex 的 CSS 声明位置
备份留档:套装统一备份 D:\yaocai_backup_dedup_20261008\fam_unify_bak\; 变量化备份 var_unify_bak\。全部可回滚,零丢失。

⑤ 长期收益 根治而非补丁

做完这一步,色系层面已经从"两套并存"收敛为"一套唯一口径"。未来的好处是:

场景以前现在
想调整主绿色调要逐页改 200+ 处,必有遗漏改 common.css 里 --qing 一处,全站自动生效
新建页面可能又抄到旧套装色值直接写 var(--qing),自动跟随标准板
发现某色不对不知道全站有多少处用了它搜 var(--xxx) 一目了然
暗金大屏 / 浅底页共存两套色系互相干扰浅底走标准板;暗底一键挂 body.dark 切换整组变量