不推荐使用标准颜色英文名称。应禁用 red、steelblue 等命名色(transparent 和 currentcolor 除外),因其无语义、不可计算、不响应主题;hex 是设计交付事实标准;hsl 才适合动态变体与主题管理。

red、steelblue)在正式项目中应被禁用,除 transparent 和 currentColor 外。
命名颜色会导致主题与无障碍失控
它们是 CSS 内置的 140 个固定值,无业务语义、不可计算、不响应主题切换。lightgray 在深色背景上几乎不可见;firebrick 在白底上的对比度仅约 3.9:1,通不过 WCAG 自动检测。Lighthouse 或 axe 工具不会报错,但实际已不合规。
HEX 是设计交付与协作的事实标准
- Figma / Sketch / Photoshop 默认导出六位 HEX(如
#3b82f6),贴过去就能用,零转换 - 所有浏览器(包括 IE9+)原生支持,无解析风险
- 简写形式(如
#F53)易误读为#FF5533或#F05030,调试时多看一眼就怀疑人生
HSL 才是设计系统和动态变体的首选
真正需要“语义化调色”时(比如悬停变亮、禁用态降饱和、暗色模式统一压低亮度),应拆解为 --primary-h、--primary-s、--primary-l 三个变量,再组合成 hsl(var(--primary-h), var(--primary-s), 65%)。这样改一个参数就能批量生成协调色变体,而 red 或 #dc2626 都无法参与任何计算。
命名颜色只该出现在原型、文档示例或原子类(如 .text-red)里,且必须明确约束在“错误文本”这类角色上下文中;一旦进正式代码,就等于开了第二个颜色管理入口,后续主题升级、深色适配、对比度校验全都会漏掉它。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











