What is postcss-color-hex-alpha?
The postcss-color-hex-alpha package is a PostCSS plugin that allows you to use 4- and 8-digit hex color notation in your CSS. This notation includes an alpha channel, which specifies the opacity of the color. The plugin converts these hex colors into their equivalent rgba() or hsla() functions, making it easier to work with colors that include transparency.
What are postcss-color-hex-alpha's main functionalities?
Convert 4-digit hex colors to rgba()
This feature allows you to use 4-digit hex colors (e.g., #0f08) in your CSS. The plugin converts these colors into their rgba() equivalents, making it easier to work with colors that include transparency.
const postcss = require('postcss');
const colorHexAlpha = require('postcss-color-hex-alpha');
const css = 'a { color: #0f08; }';
postcss([colorHexAlpha]).process(css).then(result => {
console.log(result.css);
// Output: 'a { color: rgba(0, 255, 0, 0.53); }'
});
Convert 8-digit hex colors to rgba()
This feature allows you to use 8-digit hex colors (e.g., #0000ff80) in your CSS. The plugin converts these colors into their rgba() equivalents, making it easier to work with colors that include transparency.
const postcss = require('postcss');
const colorHexAlpha = require('postcss-color-hex-alpha');
const css = 'a { color: #0000ff80; }';
postcss([colorHexAlpha]).process(css).then(result => {
console.log(result.css);
// Output: 'a { color: rgba(0, 0, 255, 0.5); }'
});
Other packages similar to postcss-color-hex-alpha
postcss-color-function
The postcss-color-function package allows you to use color-modifying functions in your CSS, such as color(), which can adjust the lightness, saturation, and alpha of a color. Unlike postcss-color-hex-alpha, which focuses on converting hex colors with alpha channels, postcss-color-function provides a broader range of color manipulation capabilities.
postcss-color-rgba-fallback
The postcss-color-rgba-fallback package generates hexadecimal color fallbacks for rgba() colors in your CSS. This is useful for ensuring compatibility with older browsers that do not support rgba(). While postcss-color-hex-alpha converts hex colors with alpha channels to rgba(), postcss-color-rgba-fallback works in the opposite direction by providing hex fallbacks for rgba() colors.
PostCSS Color Hex Alpha
npm install postcss-color-hex-alpha --save-dev
PostCSS Color Hex Alpha lets you use 4 & 8 character hex color notation in
CSS, following the CSS Color Module specification.
body {
background: #9d9c;
}
/* becomes */
body {
background: rgba(153,221,153,0.8);
}
Usage
Add PostCSS Color Hex Alpha to your project:
npm install postcss postcss-color-hex-alpha --save-dev
Use it as a PostCSS plugin:
const postcss = require('postcss');
const postcssColorHexAlpha = require('postcss-color-hex-alpha');
postcss([
postcssColorHexAlpha()
]).process(YOUR_CSS );
Options
preserve
The preserve
option determines whether the original notation
is preserved. By default, it is not preserved.
postcssColorHexAlpha({ preserve: true })
body {
background: #9d9c;
}
/* becomes */
body {
background: rgba(153,221,153,0.8);
background: #9d9c;
}