@csstools/postcss-color-function

中文文档
5.0.16发布于 2026/10/30MIT-0TypeScriptES Module近 30 天下载 2704.9万

Use the color() function in CSS

原始使用文档
文档目录6 节
  1. Usage
  2. Options
  3. preserve
  4. enableProgressiveCustomProperties
  5. Supported Color Spaces
  6. Copyright : color conversions

PostCSS Color Function PostCSS Logo

npm install @csstools/postcss-color-function --save-dev

PostCSS Color Function lets you use the color function in CSS, following the CSS Color specification.

.color {
    color: color(display-p3 0.64331 0.19245 0.16771);
}

:root {
    --a-color: color(srgb 0.64331 0.19245 0.16771);
}

/* becomes */

.color {
    color: rgb(179, 35, 35);
}

:root {
    --a-color: rgb(164, 49, 43);
}

Usage

Add PostCSS Color Function to your project:

npm install postcss @csstools/postcss-color-function --save-dev

Use it as a PostCSS plugin:

const postcss = require('postcss');
const postcssColorFunction = require('@csstools/postcss-color-function');

postcss([
    postcssColorFunction(/* pluginOptions */)
]).process(YOUR_CSS /*, processOptions */);

Options

preserve

The preserve option determines whether the original notation is preserved. By default, it is not preserved.

postcssColorFunction({ preserve: true })
.color {
    color: color(display-p3 0.64331 0.19245 0.16771);
}

:root {
    --a-color: color(srgb 0.64331 0.19245 0.16771);
}

/* becomes */

.color {
    color: rgb(179, 35, 35);
    color: color(display-p3 0.64331 0.19245 0.16771);
}

:root {
    --a-color: rgb(164, 49, 43);
}

@supports (color: color(display-p3 0 0 0%)) {
:root {
    --a-color: color(srgb 0.64331 0.19245 0.16771);
}
}

enableProgressiveCustomProperties

The enableProgressiveCustomProperties option determines whether the original notation is wrapped with @supports when used in Custom Properties. By default, it is enabled.

[!NOTE] We only recommend disabling this when you set preserve to false or if you bring your own fix for Custom Properties.
See what the plugin does in its README.

postcssColorFunction({ enableProgressiveCustomProperties: false })
.color {
    color: color(display-p3 0.64331 0.19245 0.16771);
}

:root {
    --a-color: color(srgb 0.64331 0.19245 0.16771);
}

/* becomes */

.color {
    color: rgb(179, 35, 35);
    color: color(display-p3 0.64331 0.19245 0.16771);
}

:root {
    --a-color: rgb(164, 49, 43);
    --a-color: color(srgb 0.64331 0.19245 0.16771);
}

Custom properties do not fallback to the previous declaration

Supported Color Spaces

.color-spaces {
    color: color(a98-rgb 0.803 0.484 0.944);
    color: color(display-p3 0.8434 0.509 0.934);
    color: color(prophoto-rgb 0.759 0.493 0.898);
    color: color(rec2020 0.772 0.491 0.920);
    color: color(srgb 0.897 0.488 0.959);
    color: color(srgb-linear 0.783 0.203 0.910);
    color: color(xyz 0.560 0.377 0.904);
    color: color(xyz-d50 0.550 0.375 0.680);
    color: color(xyz-d65 0.560 0.377 0.904);
}

This software or document includes material copied from or derived from https://github.com/w3c/csswg-drafts/tree/main/css-color-4. Copyright © 2022 W3C® (MIT, ERCIM, Keio, Beihang).

版本与发布记录

@csstools/postcss-color-function 共发布 63 个版本,首次发布于 2022/02/07;过去 12 个月发布了 17 个版本。

版本发布日期距今
5.0.16latest2026/10/3012 天前
5.0.152026/10/021 个月前
5.0.142026/10/011 个月前
5.0.132026/09/251 个月前
5.0.122026/09/131 个月前
5.0.112026/09/062 个月前

关于 @csstools/postcss-color-function 的常见问题

@csstools/postcss-color-function 是什么?

Use the color() function in CSS

如何安装 @csstools/postcss-color-function?

在项目目录运行 npm install @csstools/postcss-color-function,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:postcss(^8.4)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@csstools/postcss-color-function 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@csstools/postcss-color-function 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@csstools/postcss-color-function 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=20.19.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@csstools/postcss-color-function 可以商用吗?

@csstools/postcss-color-function 使用 MIT-0 许可。声明的许可为 MIT-0,请阅读许可原文确认使用条件。以上为概括,不构成法律意见,请以许可原文为准。

@csstools/postcss-color-function 的下载量有多少?

根据 npm 官方下载统计,@csstools/postcss-color-function 在 2026/10/11 – 2026/11/09 这 30 天内被下载 27,049,352 次,日均约 901,645 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@csstools/postcss-color-function 还在维护吗?

最新版本 5.0.16 发布于 2026/10/30(12 天前);至今共发布 63 个版本,其中过去 12 个月发布了 17 个;首次发布于 2022/02/07。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。