postcss-px-to-clamp
TypeScript icon, indicating that this package has built-in type declarations

1.0.5 • Public • Published

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-clamp

Usage

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,
}
  • viewportWidth The width of the viewport.
    • Px will be converted to vw.
  • viewportUnit Unit used for calculation clamp(min, 100vw|100vmin, max).
  • fontViewportUnit Font properties used viewportUnit.
  • minViewportWidth The minimum width of the viewport.
    • Px will be converted to calc(val / viewportWidth * max(100w, minViewportWidth)).
  • maxViewportWidth The 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)).
  • unitPrecision The decimal numbers to allow the vw units to grow to.
  • selectorBlackList Exclude selectors.
  • propBlackList Exclude css properties.
  • minPixelValue Will not be converted if x is less than or equal to minPixelValue.
  • mediaQuery Allow px to be converted in media queries.
  • keyframesQuery Allow px to be converted in keyframes queries.
  • replace Append css for fallback or replace css.
  • exclude Exclude some folder'.
  • include Only included folder will be converted.

Package Sidebar

Install

npm i postcss-px-to-clamp

Weekly Downloads

10

Version

1.0.5

License

MIT

Unpacked Size

30.8 kB

Total Files

46

Last publish

Collaborators

  • needahouse