0.1.0 • Published 3 years ago

postcss-custom-css-units v0.1.0

Weekly downloads
4
License
MIT
Repository
github
Last release
3 years ago

PostCSS Custom CSS Units

Define custom css unit and convert them to CSS variable.

Input:

:root {
    --cusomt-base-unit: 1vw;
}

div {
    width: 100rpx;
}

Output:

div {
    width: calc(var(--cusomt-base-unit) * 100);
}

Installation

npm install postcss-custom-css-units

Usage

Add postcss-custom-css-units plugin to postcss.config.js

module.exports = {
    plugins: [
        require('postcss-custom-css-units')({
            baseUnit: `--cusomt-base-unit`,
            customUnit: 'rpx'
        })
    ]
}

Options

baseUnit (default: --base-unit)

CSS variable which you defined. customUnit will be converted to that CSS variable.

:root {
    --cusomt-base-unit: 1vw;
}

customUnit (default: rpx)

Custom CSS unit that should be converted.

div {
    width: 100rpx;
}

Optimize CSS performance

CSS variables get even more powerful when we combine them with the calc(). However, performance can become a problem while using calc() and CSS Variables. Here is the solution to reduce CSS calculation and variables if we don't need them in production environment.

Importing postcss-preset-env and postcss-calc, make sure that preserve is false

module.exports = {
    plugins: [
        require('postcss-custom-css-units')({
            baseUnit: `--cusomt-base-unit`,
            customUnit: 'rpx'
        }),
        require('postcss-preset-env')({
            // Some other options...
            preserve: false
        }),
        require("postcss-calc", {
            preserve: false
        })
    ]
}

Our input CSS

:root {
    --cusomt-base-unit: 10px;
}

div {
    width: 40rpx;
}

will becomes to

div {
    width: 400px;
}

LICENSE

MIT