
Security News
OWASP 2025 Top 10 Adds Software Supply Chain Failures, Ranked Top Community Concern
OWASP’s 2025 Top 10 introduces Software Supply Chain Failures as a new category, reflecting rising concern over dependency and build system risks.
postcss-lab-function
Advanced tools
PostCSS Lab Function lets you use lab and lch color functions in
CSS, following the CSS Color specification.
.color-lab {
color: lab(40% 56.6 39);
}
.color-lch {
color: lch(40% 68.735435 34.568626);
}
/* becomes */
.color {
color: rgb(179, 35, 35);
color: color(display-p3 0.64331 0.19245 0.16771);
}
.color-lch {
color: rgb(179, 35, 35);
color: color(display-p3 0.64331 0.19245 0.16771);
}
Add PostCSS Lab Function to your project:
npm install postcss postcss-lab-function --save-dev
Use it as a PostCSS plugin:
const postcss = require('postcss');
const postcssLabFunction = require('postcss-lab-function');
postcss([
postcssLabFunction(/* pluginOptions */)
]).process(YOUR_CSS /*, processOptions */);
PostCSS Lab Function runs in all Node environments, with special instructions for:
| Node | PostCSS CLI | Webpack | Gulp | Grunt |
|---|
The preserve option determines whether the original functional color notation
is preserved. By default, it is not preserved.
postcssLabFunction({ preserve: true })
.color {
color: lab(40% 56.6 39);
}
/* becomes */
.color {
color: rgb(179, 35, 35);
color: color(display-p3 0.64331 0.19245 0.16771);
color: lab(40% 56.6 39);
}
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
preservetofalseor if you bring your own fix for Custom Properties.
See what the plugin does in its README.
postcssLabFunction({ enableProgressiveCustomProperties: false })
:root {
--firebrick: lab(40% 56.6 39);
}
/* becomes */
:root {
--firebrick: rgb(178, 34, 34); /* will never be used, not even in older browser */
--firebrick: color(display-p3 0.64331 0.19245 0.16771); /* will never be used, not even in older browser */
--firebrick: lab(40% 56.6 39);
}
The subFeatures.displayP3 option determines if color(display-p3 ...) is used as a fallback.
By default, it is enabled.
display-p3 can display wider gamut colors than rgb on some devices.
postcssOKLabFunction({
subFeatures: {
displayP3: false
}
})
.color {
color: lab(40% 56.6 39);
}
/* becomes */
.color {
color: rgb(179, 35, 35);
color: lab(40% 56.6 39);
}
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).
The postcss-color-function package allows you to transform colors using functions like color-mod(). It supports various color manipulations such as lightening, darkening, and adjusting hue, saturation, and lightness. Unlike postcss-lab-function, it does not specifically focus on the LAB color space but provides a broader range of color manipulation functions.
The postcss-preset-env package lets you use modern CSS features, including color functions like lab(), in your stylesheets. It automatically converts these modern features into a form that is compatible with older browsers. While it includes support for LAB colors, it also provides a wide range of other modern CSS features, making it a more comprehensive solution compared to postcss-lab-function.
The postcss-color-mod-function package allows you to modify colors using the color-mod() function. It supports various color adjustments such as lightening, darkening, and blending colors. This package is similar to postcss-lab-function in that it provides advanced color manipulation capabilities, but it does not specifically focus on the LAB color space.
FAQs
Use lab() and lch() color functions in CSS
The npm package postcss-lab-function receives a total of 5,567,680 weekly downloads. As such, postcss-lab-function popularity was classified as popular.
We found that postcss-lab-function demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
OWASP’s 2025 Top 10 introduces Software Supply Chain Failures as a new category, reflecting rising concern over dependency and build system risks.

Research
/Security News
Socket researchers discovered nine malicious NuGet packages that use time-delayed payloads to crash applications and corrupt industrial control systems.

Security News
Socket CTO Ahmad Nassri discusses why supply chain attacks now target developer machines and what AI means for the future of enterprise security.