1.0.5 • Published 2 years ago
postcss-px-to-clamp v1.0.5
postcss-px-to-clamp
English | 中文
PostCSS plugin that converts px to clamp (clamp(min, val, max) or min(val, max) or max(val, min)).
.foo {
width: 20vw;
height: 20vh;
line-height: 1.2;
padding: 20px;
padding-top: 20px;/* px-to-clamp-ignore */
/* px-to-clamp-ignore-next */
padding-left: 20px;
border: 1px solid #000;
font-size: 20em;
margin-top: '20px';
margin-left: "20px";
margin-bottom: 20PX;
}.foo {
width: 20vw;
height: 20vh;
line-height: 1.2;
padding: calc(0.02667 * clamp(200px, 100vw, 1200px));
padding-top: 20px;
padding-left: 20px;
border: 1px solid #000;
font-size: 20em;
margin-top: '20px';
margin-left: "20px";
margin-bottom: 20PX;
}If your project involves a fixed width, this script will help to convert pixels into viewport units.
Installation
npm install --save-dev postcss-px-to-clampUsage
Default Options:
interface DefaultOptions {
viewportWidth: number
maxViewportWidth?: string
minViewportWidth?: string
viewportUnit: 'vw' | 'vmin'
fontViewportUnit: 'vw' | 'vmin'
unitPrecision: number
selectorBlackList: (string | RegExp)[]
propBlackList: (string | RegExp)[]
minPixelValue: number
mediaQuery: boolean
keyframesQuery: boolean
replace: boolean
include?: RegExp | RegExp[]
exclude?: RegExp | RegExp[]
}{
viewportWidth: 750,
viewportUnit: 'vw',
fontViewportUnit: 'vw',
unitPrecision: 5,
selectorBlackList: [],
propBlackList: [],
minPixelValue: 1,
mediaQuery: false,
keyframesQuery: false,
replace: true,
exclude: undefined,
include: undefined,
}viewportWidthThe width of the viewport.- Px will be converted to vw.
viewportUnitUnit used for calculation clamp(min, 100vw|100vmin, max).fontViewportUnitFont properties used viewportUnit.minViewportWidthThe minimum width of the viewport.- Px will be converted to calc(val / viewportWidth * max(100w, minViewportWidth)).
maxViewportWidthThe maximum width of the viewport.- Px will be converted to calc(val / viewportWidth * min(100w, maxViewportWidth)).
- If minViewportWidth and maxViewportWidth are both set px will be converted to calc(val / viewportWidth * clamp(minViewportWidth, 100w, maxViewportWidth)).
unitPrecisionThe decimal numbers to allow the vw units to grow to.selectorBlackListExclude selectors.propBlackListExclude css properties.minPixelValueWill not be converted if x is less than or equal to minPixelValue.mediaQueryAllow px to be converted in media queries.keyframesQueryAllow px to be converted in keyframes queries.replaceAppend css for fallback or replace css.excludeExclude some folder'.includeOnly included folder will be converted.