CSS中颜色的表示方式

CSS 中颜色的表示方式非常丰富,以下是目前 CSS 中所有主流的颜色表示方法(按推荐程度排序):

1. 命名颜色(Color Keywords) —— 最简单

CSS 预定义了 140+ 个颜色名称,直接用英文单词:

color: red;
color: blue;
color: green;
color: transparent;        /* 透明 */
color: currentColor;       /* 当前元素的 color 值(非常实用) */

常用中文对应(部分):

  • black(黑)、white(白)、red(红)、blue(蓝)、green(绿)、yellow(黄)、purple(紫)、pink(粉)、orange(橙)、gray/grey(灰)

2. 十六进制颜色(Hex) —— 最常用

/* 标准写法 */
color: #ff0000;     /* 红色 */
color: #f00;        /* 简写,三位数 = 六位数重复 */

/* 带透明度(8位十六进制)CSS Color Module Level 4 */
color: #ff000080;   /* 红色,50% 透明 */
color: #f008;       /* 简写,带透明度 */

3. RGB / RGBA —— 最直观

color: rgb(255, 0, 0);           /* 红色 */
color: rgb(255, 0, 0, 0.5);      /* 带透明度 */
color: rgba(255, 0, 0, 0.5);     /* 旧写法,仍支持 */

/* 新语法(推荐)—— 支持百分比和小数 */
color: rgb(100% 0% 0% / 50%);

4. HSL / HSLA —— 最适合调色(强烈推荐)

HSL = Hue(色相) + Saturation(饱和度) + Lightness(亮度)

color: hsl(0, 100%, 50%);        /* 红色 */
color: hsl(240, 100%, 50%);      /* 蓝色 */
color: hsla(0, 100%, 50%, 0.5);

/* 新语法(推荐) */
color: hsl(0 100% 50% / 50%);

HSL 的优势

  • 调整色相(H)就能得到不同颜色
  • 调整亮度(L)就能得到明暗版本
  • 设计系统里用得非常多

5. HWB(Hue-Whiteness-Blackness) —— 新增,适合设计师

color: hwb(0 0% 0%);     /* 纯红色 */
color: hwb(240 20% 20%); /* 偏白的蓝色 */

6. Lab / Oklab —— 现代最精确的颜色空间(CSS Color 4)

color: lab(50% 40 30);           /* Lab 颜色 */
color: oklab(0.7 0.1 0.05);      /* Oklab(更推荐,人眼感知更均匀) */

7. LCH / OKLCH —— 目前最先进的颜色表示(强烈推荐用于高端设计)

color: lch(50% 80 30);           /* LCH */
color: oklch(0.7 0.15 240);      /* OKLCH(目前最推荐) */

优点:颜色过渡更自然、明度更准确、支持更宽的色域(尤其是 Display-P3)。

8. 颜色函数(Color()) —— 未来语法

color: color(srgb 1 0 0);                    /* sRGB 红色 */
color: color(display-p3 1 0 0);              /* Display-P3 更鲜艳的红色 */
color: color(a98-rgb 1 0 0 / 0.8);

9. 系统颜色(System Colors) —— 无障碍推荐

color: Canvas;           /* 背景色 */
color: CanvasText;       /* 文本色 */
color: LinkText;
color: ButtonFace;

总结对比表

表示方式写法示例推荐场景现代性
命名颜色red快速原型★☆☆☆☆
十六进制#ff0000 / #f00日常开发(最常用)★★★★☆
RGB/RGBArgb(255 0 0)需要精确数值时★★★★☆
HSLhsl(0 100% 50%)调色、设计系统(推荐)★★★★★
HWBhwb(0 0% 0%)设计师调色★★★★☆
OKLCHoklch(0.7 0.15 240)高端设计、宽色域(最推荐)★★★★★
Lab / Oklaboklab(0.7 0.1 0.05)精确颜色科学★★★★★

实用建议(2026年)

  1. 日常开发:继续用 Hex + HSL 组合最舒服。
  2. 设计系统 / 高级项目:优先使用 OKLCH,颜色过渡最自然。
  3. 需要透明度:统一使用新语法 rgb(255 0 0 / 0.5)hsl(0 100% 50% / 0.5)
  4. 暗黑模式:配合 color-schemecurrentColor 使用效果极佳。

需要我给你一个完整的现代颜色函数对比示例代码吗?或者针对某个具体场景(如渐变、暗黑模式、设计系统)深入讲解?

文章已创建 5299

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部