This PostCSS plugin lets you use a solid color as an image, following the CSS Images specification.
.box {
background: image(red);
}
/* becomes */
.box {
background: linear-gradient(red 0 0);
}
npm install postcss-color-image
import postcss from 'postcss';
import colorImage from 'postcss-color-image';
// OR
const postcss = require('postcss');
const colorImage = require('postcss-color-image');
await postcss([colorImage]).process(YOUR_CSS);
Instead of adding a double-position color stop, duplicate the color in the output gradient for wider browser support.
.box {
background: linear-gradient(red, red);
}
Keep the original CSS declaration alongside the transformed one.
.box {
background: linear-gradient(red 0 0);
background: image(red);
}