网站深度测评
Leonardo是什么网站?
Leonardo(Leonardo)是 Adobe 开源的配色工具网站,核心用途是按目标对比度生成和管理无障碍配色系统。它不是普通的调色板生成器,而是面向 UI 设计和数据可视化的色彩工程工具。
它主要做什么
- 按对比度生成色阶:直接设定目标对比度(如 3:1、4.5:1)来生成色块,省去手动逐个检查对比度的步骤;也可以用目标亮度来定义。
- 自适应主题:一键调整整体亮度、对比度和饱和度,快速产出深色模式等主题。
- 色觉障碍友好:自动轮换颜色生成色盲安全调色板,并针对每种色觉障碍类型计算颜色差异。
- 数据可视化色阶:支持感知均匀的连续型和发散型色阶,适合图表配色。
- 对比度检测:比较两个颜色的对比度,支持 alpha 透明度。
- 交付给开发:导出 SVG、CSS 自定义属性、Design Tokens(遵循 W3C 工作规范),以及
@adobe/leonardo-contrast-colors的主题参数。
谁在什么情况下用它
- 设计系统团队需要一套可复用、可共享的无障碍色板时。
- 做深色模式或多主题切换,希望快速调出亮度/对比度变体时。
- 图表、仪表盘需要感知均匀、色盲友好的数据色阶时。
- 前端想把主题参数直接接入代码,甚至让终端用户自行调节对比度和亮度时。
和其他配色网站的区别
- 相比 Coolors 一类偏灵感、偏快速出板的工具,Leonardo 的侧重点是对比度驱动的精确控制和设计系统交付。
- 相比普通对比度检查器,它不止检测,而是把对比度作为生成颜色的输入条件,并提供 3D 模型和图表做深入分析。
想上手可以先看站内的 Getting started,或到它的 GitHub 仓库了解 npm 模块用法。
如何用Leonardo根据目标对比度生成颜色?
在 Leonardo 里,颜色不是先挑色值再检查对比度,而是反过来:先给每个颜色定一个目标对比度,工具按这个比值算出对应的色板。这样生成的色板天生满足无障碍要求,不用事后逐个核对。
基本流程
- 打开 Leonardo,进入“Adaptive color theme”或“Color scales”。
- 为要用的颜色(如主色、强调色、中性色)添加色标。
- 给每个色标设置目标对比度,例如正文文字对背景取 4.5:1,大号文字或图标取 3:1。
- 设定背景色和整体亮度,工具会按对比度反推出这一档的色值。
- 生成后可直接下载 SVG,或复制粘贴进设计工具。
关键机制
- 每个色板同时受“目标对比度”和“目标亮度”两个输入控制,你可以只用其中一个,也可以两者配合微调。
- 支持切换不同色彩空间,用来做感知上更均匀的色阶,避免相邻档位看起来忽深忽浅。
- 自适应主题(adaptive themes)让你一次性调整整组颜色的亮度、对比度和饱和度,暗色模式基本是秒级切换。
给开发的输出
主题参数可导出为 @adobe/leonardo-contrast-colors 的配置、CSS 自定义属性,以及符合 W3C 工作草案的 Design Tokens。Leonardo 是 Adobe 开源项目,npm 模块还能把主题交给终端用户,让他们自己调对比度和亮度。
什么时候特别值得用
- 做设计系统,需要一整套可复用的无障碍色板。
- 需要快速产出暗色模式,而不是手动重配一遍。
- 做数据可视化,要感知均匀的 sequential / diverging 色阶。
- 需要色盲安全配色:工具会自动轮换颜色生成色盲安全调色板,也能计算两种颜色在各类色觉缺陷下的可测色差,并支持只保留满足 3:1 对比度的颜色。
和其他配色工具的取舍
如果你只是想快速抓一个好看的渐变色或调色板灵感,通用配色工具更轻快;Leonardo 的侧重点是“以对比度为约束条件生成颜色”,适合要交付到设计系统和代码里的场景。如果核心需求是检查两个已有颜色的对比度,它内置的对比度对比工具也够用,还支持带 alpha 透明度的比较。
下一步
先从一个主色加一个背景色开始,只设 4.5:1 这一档,看生成的色值是否符合预期;确认流程顺手后,再扩展到完整色阶和暗色模式。想深入用法可看站内的 Getting started 和 Articles 部分。
Leonardo的暗色模式自适应主题怎么快速调整亮度、对比度和饱和度?
在 Leonardo 里,暗色模式不是单独做一套色板,而是调整同一个“自适应主题(Adaptive theme)”的整体亮度、对比度和饱和度,色阶会按目标对比度重新生成。
具体操作路径
- 打开 Leonardo,进入 Adaptive color theme。
- 选好基础色(brand color),生成主题色阶。
- 在主题控制区调三个全局参数:
- Brightness(亮度):整体明暗,相当于在浅色/深色之间平移。
- Contrast(对比度):色阶之间的对比强度,决定文字与背景的可读性。
- Saturation(饱和度):整体色彩浓淡。
- 切到暗色背景预览,确认对比度是否达标,再微调。
为什么能“几秒切暗色” Leonardo 的色板是按目标对比度生成的,而不是手动挑色。所以你改亮度或对比度时,色阶会按新的对比度重新计算,不用逐个色值去检查 WCAG 对比度。官方把它描述为“change the brightness, contrast, and saturation in less time than ever before”,指的就是这套全局参数联动。
输出与落地
- 导出 SVG 色板,或复制色值进设计工具。
- 给工程师:主题参数可对接
@adobe/leonardo-contrast-colors、CSS 自定义属性,以及符合 W3C 草案的 Design Tokens。 - 想做终端用户可调:Leonardo 的 npm 模块可以让用户自己改整体对比度、亮度和饱和度,适合做无障碍个性化。
什么时候用它
- 设计系统里同时要浅色和深色主题,且必须保证对比度合规。
- 需要在同一套色相下快速切换“更亮/更暗/更柔和”的版本。
- 做数据可视化色阶时,需要感知均匀的连续或发散色板。
和其他工具的分工 Figma、Sketch 这类设计工具负责排版和组件,Leonardo 负责“生成可访问的色阶与主题参数”;它更像配色计算器加主题引擎,而不是画界面。对比度检查类工具通常只验证两个颜色的比值,Leonardo 则把对比度作为生成色板的输入条件,并额外评估色盲安全性和色差。
下一步 从 Getting started 走一遍 Adaptive theme,先只调 Contrast 看色阶怎么变,再加 Brightness 和 Saturation,最后导出 Design Tokens 给工程侧。
Leonardo如何帮助设计色盲安全的调色板?
Leonardo 通过“自动轮换颜色 + 可测色差”两条路径,帮你做出对色盲用户也友好的调色板。
核心做法
- 自动生成色盲安全配色:它会自动在你的颜色之间循环组合,生成一套色盲安全的调色板,不需要你手动逐个试错。
- 按色觉缺陷类型逐一评估:针对每种色盲类型,Leonardo 都会计算两个颜色之间的“可测量色差”,让“是否安全”从感觉变成可判断的数值。
- 用对比度兜底:高级控制项可以只保留满足 3:1 最低对比度的颜色,或强制显示色差更大的颜色,避免相邻色过于接近。
典型使用场景
- 你在做设计系统的主题色,需要一套在正常色觉和各种色盲类型下都能区分的色板。
- 你要给图表做数据可视化配色,分类色块之间必须能被色弱用户区分。
- 你已有品牌色,想验证它在色盲视角下是否仍然可辨,而不是凭经验判断。
实际操作思路
- 在 Leonardo 里先建立你的基础色阶(可按目标对比度或目标明度生成)。
- 用色盲安全功能自动轮换颜色,得到候选调色板。
- 用它的色差与对比度工具检查每对颜色的数值,必要时收紧到 3:1 以上。
- 把结果导出为 SVG,或直接复制到设计工具;工程侧可用 @adobe/leonardo-contrast-colors、CSS 自定义属性或 W3C Design Tokens 交付。
和其他工具的分工
像 Coolors 这类工具侧重快速生成和浏览配色灵感,Contrast Ratio 只做两色对比度检查;Leonardo 的侧重点是“按对比度生成 + 色盲安全评估 + 面向设计系统的交付”,适合需要把无障碍配色沉淀成规范、而不只是挑几个好看颜色的团队。
Leonardo支持导出哪些设计资源格式(如SVG、CSS变量、设计令牌)?
Leonardo 支持导出的设计资源格式包括:
- SVG 文件:可下载整个主题或单组色阶,直接复制粘贴进设计工具。
- CSS 自定义属性(CSS custom properties):把主题参数输出为 CSS 变量,方便前端直接使用。
- 设计令牌(Design Tokens):遵循 W3C 工作规范的设计令牌格式。
- 主题参数(Theme parameters):用于
@adobe/leonardo-contrast-colors这个 npm 包,适合接入工程化流程。
这些格式分别用在什么场景
- 设计师调好配色后,用 SVG 快速落到 Figma 等设计工具里做视觉稿。
- 前端要把主题接进代码,用 CSS 变量 或 设计令牌,能直接替换颜色值而不用手动核对对比度。
- 需要让终端用户自己调节对比度、亮度、饱和度时,用 主题参数 + npm 模块,实现自适应主题。
选择建议
- 只做静态设计交付,选 SVG。
- 要接入现有 CSS 体系,选 CSS 自定义属性。
- 团队有统一的设计令牌规范(尤其对齐 W3C 标准),选设计令牌。
- 要做运行时动态换肤或用户个性化,选主题参数配合 npm 模块。
如果你还想对比其他配色工具的导出能力,可以看看 Coolors 和 Huemint,它们同样面向 UI 配色,但导出侧重各有不同。
如何用Leonardo的npm模块让终端用户自定义界面的对比度和亮度?
Leonardo 提供 npm 模块,让终端用户自己调整界面的对比度、亮度和饱和度,而不用你为每种组合单独做一套主题。它的官方定位就是“给终端用户一个包容、可自适应的主题”。
它解决什么场景
- 产品已用 Leonardo 生成自适应主题,想让用户按自己的视觉需求调节。
- 需要无障碍支持:低视力用户提高对比度,对强对比敏感的用户降低对比度。
- 想避免维护多套静态主题(如普通版 + 高对比版)。
使用要点
- 主题由“目标对比度”驱动,而不是写死颜色值。调整对比度、亮度、饱和度时,色板会重新生成。
- 模块为
@adobe/leonardo-contrast-colors,这是 Leonardo 输出的工程侧主题参数所用的同一个包。 - 前端接入后,用户侧的调节项通常对应三个维度:整体对比度、亮度、饱和度。具体 API 名称和参数以官方文档与 GitHub 为准。
建议的落地步骤
- 在 Leonardo 网页工具里先设计好基础主题和色阶,导出主题参数。
- 在项目里安装
@adobe/leonardo-contrast-colors,用这些参数初始化。 - 把对比度、亮度、饱和度暴露为界面控件(滑块或预设档位)。
- 用户改动时重新计算颜色,并应用到 CSS 自定义属性或 Design Tokens。
- 用 Leonardo 的对比度检查工具验证极端档位下仍满足可读性要求。
选择条件
- 如果你的主题是静态的、不需要用户调节,直接用网页工具导出 SVG 或 CSS 变量即可,不必引入 npm 模块。
- 如果你需要用户级个性化或高对比模式,这个模块是合适的路径。
- 需要设计系统层面的完整方案时,可参考 Leonardo 的 Getting started 与 GitHub 说明。
用户评价(0)