色导网中文配色工作台与色彩资料馆

暗色模式色板方案 · 色导网方案库

把浅色模式的颜色反过来会得到一个发灰、发脏、层级全乱的界面。深色是另一套取值,不是同一套的倒影。

本方案的全部颜色

色卡

#14161A

底 bg

页面最底层。不用纯黑,留出比它更暗的空间。

白底 18.11:1墨底 1.04:1

在对比度工具中检查

#1D2026

表面 1

卡片与区块。比底色浅一档。

白底 16.32:1墨底 1.06:1

在对比度工具中检查

#272B33

表面 2

悬浮层、弹窗、输入框。

白底 14.19:1墨底 1.22:1

在对比度工具中检查

#3A4049

边框

描边。深色界面里边框比阴影有效。

白底 10.45:1墨底 1.66:1

在对比度工具中检查

#E8E8EA

正文

正文色。不用纯白,减少光晕。

白底 1.22:1墨底 14.20:1

在对比度工具中检查

#9EA0A8

次级

次级文字。压 surface1 过正文 AA。

白底 2.61:1墨底 6.66:1

在对比度工具中检查

#7FA8D9

品牌浅蓝

浅色模式里的深靛在深底上不可读,换成这一档。

白底 2.47:1墨底 7.04:1

在对比度工具中检查

#E59276

强调橙

强调与链接悬停。彩度比浅色模式低。

白底 2.41:1墨底 7.20:1

在对比度工具中检查

#5FB79F

成功绿

成功态。

白底 2.40:1墨底 7.25:1

在对比度工具中检查

#E3766C

危险红

危险态。深底上的红必须提亮并降饱和。

白底 2.97:1墨底 5.85:1

在对比度工具中检查

层级的方向反了过来

浅色界面里,越靠上的层越白;深色界面里,越靠上的层越浅灰。所以深色不能靠「把白色区块变黑」实现,而要重建一条从底色往上递浅的表面序列。阴影在深色里几乎看不见,层次只能靠这条序列和描边表达。

底色也不要用纯黑:一旦底是 #000000,就没有比它更暗的层可用,而且纯黑配浅色文字的光晕最明显。

实测对比度

比值按 WCAG 2.1 相对亮度算出,门槛为正文 4.5:1、大字 3:1、正文 AAA 7:1。
文字/底色用途对比度判定
正文/底 bg正文14.80:1正文 AAA
正文/表面 1卡片里的正文13.34:1正文 AAA
次级/表面 1次级文字6.25:1正文 AA
品牌浅蓝/表面 1链接6.61:1正文 AA
强调橙/表面 1强调文字6.76:1正文 AA
危险红/表面 1错误提示5.50:1正文 AA
成功绿/表面 1成功提示6.81:1正文 AA

彩色在深底上要重新选

同一个品牌色在深底上往往直接不可读:深靛 #1F3A5F 压在 #1D2026 上几乎没有对比。解决办法是把品牌色沿明度轴提亮,同时降一点饱和——提亮而不降饱和会得到一个发荧光的颜色,在深底上刺眼。

语义色同理。红色尤其明显:浅色模式里那个沉稳的 #B4342A 在深底上看起来是一团暗斑,必须提亮到 #E3766C 这一档才读得出来。

CSS 自定义属性

:root {
  --dk-bg: #14161A;
  --dk-surface1: #1D2026;
  --dk-surface2: #272B33;
  --dk-border: #3A4049;
  --dk-text: #E8E8EA;
  --dk-sub: #9EA0A8;
  --dk-brand: #7FA8D9;
  --dk-accent: #E59276;
  --dk-ok: #5FB79F;
  --dk-bad: #E3766C;
}

层级示意

浅色与深色界面各自的层级顺序对照浅色:越上层越白深色:越上层越浅灰两套都是底色最暗/最亮,弹层最接近中间不是把浅色模式的数值反过来,饱和度也要降
左右两套的层级方向相反:浅色越上层越白,深色越上层越浅灰。