正在加载,请稍候…

调色板生成器:为 UI 设计构建和谐配色方案

学习如何生成调色板、色调、明暗和色彩和谐方案。涵盖色彩理论基础、可访问性对比度以及在实际 CSS 中应用调色板的实用技巧。

Color Palette Generator: Build Harmonious Color Schemes for UI Design

为什么调色板在 UI 设计中至关重要

一个精心选择的调色板同时完成三件事:建立视觉层次(引导视线关注重要内容)、传达个性和品牌、满足可访问性标准,使界面适用于所有人,包括色觉缺陷用户。

凭感觉选择颜色——在拾色器中点击直到看起来不错——很少能产生在所有维度上都有效的调色板。色彩理论提供了一种系统方法:从一个锚点颜色开始,利用色轮上的几何关系推导出其余颜色。

Color Palette Generator: Build Harmonious Color Schemes for UI Design illustration

色彩理论基础

色轮

现代色轮根据感知关系将色相排列成一个圆。相邻的颜色感觉和谐;相对的颜色产生对比。色轮是每种色彩和谐系统的基础。

色相、饱和度和明度(HSL)

HSL 在设计工作中比 RGB 更直观:

  • 色相(Hue):在色轮上的位置,0–360°
  • 饱和度(Saturation):强度,0%(灰色)到 100%(鲜艳)
  • 明度(Lightness):亮度,0%(黑色)到 100%(白色)

要创建色调(更浅版本),增加明度。要创建暗调(更深版本),降低明度。要降低饱和度用于背景,减少饱和度。所有这些都保持相同的色相。

色彩和谐方案

单色

一个色相跨越一系列明度和饱和度值。营造凝聚力和精致感。极简设计的稳妥选择。

Base: hsl(220, 80%, 50%)
Light tint: hsl(220, 80%, 90%)
Mid shade: hsl(220, 80%, 35%)
Dark shade: hsl(220, 80%, 20%)

Color Palette Generator: Build Harmonious Color Schemes for UI Design illustration

互补色

色轮上相对(180° 间隔)的两种颜色。高对比度——适合背景上的行动号召按钮。使用一种颜色作为主色,另一种作为强调色。

Blue hsl(220, 80%, 50%) + Orange hsl(40, 80%, 50%)

分裂互补色

一种基色加上其互补色相邻的两种颜色。比互补色更细腻——高对比度但视觉上不那么激进。

类似色

色轮上相邻(约 30–60°)的三种或更多颜色。营造和谐和自然感。常见于自然灵感的设计中。

三色组

均匀间隔(120°)的三种颜色。生动且平衡。需要谨慎管理——通常一种主色,一种次要色,一种强调色。

四色组(方形)

90° 间隔的四种颜色。丰富的调色板但难以平衡。仅将饱和版本用于强调色。

Color Palette Generator: Build Harmonious Color Schemes for UI Design illustration

色调、暗调和中间调

一个色相可以产生一系列可用颜色:

  • 色调(Tint):添加白色(增加明度)。用于背景、悬停状态。
  • 暗调(Shade):添加黑色(降低明度)。用于文本、边框、阴影。
  • 中间调(Tone):添加灰色(降低饱和度)。用于柔和的 UI 元素。

UI 调色板的实用刻度:

步骤 明度 用途
50 95% 页面背景
100 90% 卡片背景
200 80% 微妙边框
300 70% 禁用状态
400 60% 占位符文本
500 50% 主色
600 40% 悬停状态
700 30% 激活状态
800 20% 标题文本
900 10% 正文文本

这种方法类似于 Tailwind CSS、Material Design 和 Radix UI Colors 等设计系统。

可访问性:对比度

WCAG 2.1 可访问性指南要求文本和背景之间的最小对比度:

  • AA 级别:普通文本 4.5:1,大文本(18pt+)3:1
  • AAA 级别:普通文本 7:1,大文本 4.5:1

常见失败模式:

  • 白色背景上的浅灰色文本(通常 #999 在白色上失败)
  • 相似明度的彩色文本在彩色背景上
  • 仅图标的按钮没有足够对比度

快速规则:如果文本和背景具有相似的明度值(两者都亮或都暗),对比度将不足。目标是明度差至少 40–50 个百分点。

在 CSS 中应用调色板

一旦有了调色板,在 :root 级别将其定义为 CSS 自定义属性:

:root {
  --color-primary-50:  hsl(220, 80%, 95%);
  --color-primary-100: hsl(220, 80%, 90%);
  --color-primary-500: hsl(220, 80%, 50%);
  --color-primary-600: hsl(220, 80%, 40%);
  --color-primary-900: hsl(220, 80%, 10%);

  --color-accent-500:  hsl(40, 80%, 50%);

  --color-neutral-100: hsl(220, 10%, 95%);
  --color-neutral-900: hsl(220, 10%, 10%);
}

在整个样式表中引用这些变量。调整调色板时,更改一个值即可全局更新。

深色模式调色板

深色模式不仅仅是反转浅色调色板。纯黑色(#000000)背景与白色文本产生刺眼对比。相反:

  • 使用深灰色(hsl(220, 10%, 8–12%))作为背景
  • 保持主强调色相同的色相,但调整饱和度(+10%)和明度(+10%)以补偿 Helmholtz–Kohlrausch 效应(饱和色在深色背景上显得更亮)
  • 背景层次使用微妙的明度增量(10%、12%、15%)而不是阴影

生成你的调色板

→ 使用 Color Palette Generator 从任何基色生成色调、暗调和互补色。以 HEX、RGB 或 HSL 格式导出值。

Color Converter 在 HEX、RGB 和 HSL 之间转换,以便你可以在代码库中以任何格式使用调色板值。