第 4 课

CSS 颜色格式

Hex、rgb()、hsl()、透明度与现代颜色函数。

浏览器接受多种 CSS 颜色语法。了解支持矩阵允许哪些写法,可避免 silent 回退。

CSS 中的 Hex

.brand {
  color: #2563eb;
  border-color: #2563eb80; /* 现代浏览器 8 位 hex 含 alpha */
}

小写 hex 常见于风格指南;#ABC#abc 浏览器视为相同。

函数式 rgb() 与 hsl()

传统逗号语法:

background: rgba(37, 99, 235, 0.12);

现代空格分隔(CSS Color Level 4):

background: rgb(37 99 235 / 0.12);
color: hsl(221 83% 53%);

Autoprefixer 与压缩器可能规范化格式——设计系统仓库里保持令牌源格式一致。

命名色与关键字

transparentcurrentColor 以及 tomatorebeccapurple 等命名色适合原型。生产主题应用 令牌 而非随意命名色,避免漂移。

currentColor 继承

color: currentColor 让图标与边框跟随文字色——状态变化时不必重复 hex。

现代色彩空间:oklch 与 color-mix

较新 CSS 支持感知更均匀的空间:

--accent: oklch(58% 0.22 264);
--hover: color-mix(in oklch, var(--accent) 85%, black);

是否采用取决于浏览器目标。回退栈常在 sRGB hex 之后,用 @supports 提供广色域主题。

邮件与 PDF 限制

许多 HTML 邮件客户端会去掉 hsl() 与变量。模板应导出 内联 hex,即使 Web 应用内部用 CSS 变量。

要点

令牌 只选一种编写格式,构建时生成各平台输出,并文档化哪些场景必须 hex-only 回退。

想动手练习时,可使用 DevCove 相关工具——可选,不属于本课正文。

打开相关工具

返回课程概览