Wondering what’s next for npm?Check out our public roadmap! »

    deli-px2rem

    0.0.2 • Public • Published

    postcss-px2vw

    A plugin for PostCSS that generates viewport units (vw, vh, vmin, vmax) from pixel units.

    Usage

    If your project involves a fixed width, this script will help to convert pixels into viewport units.

    Input/Output

    // input
     
    .class {
      margin: -10px .5vh;
      padding: 5vmin 9.5px 1px;
      border: 3px solid black;
      border-bottom-width: 1px;
      font-size: 14px;  /*no*/
      line-height: 20px;  /*no*/
    }
     
    .class2 {
      border: 1px solid black;
      margin-bottom: 1px;
      font-size: 20px;
      line-height: 30px;
    }
     
    @media (min-width: 750px) {
      .class3 {
        font-size: 16px;
        line-height: 22px;
      }
    }
     
    // output
     
    .class {
      margin: -3.125vw .5vh;
      padding: 5vmin 2.96875vw 1px;
      border: 0.9375vw solid black;
      border-bottom-width: 1px;
      font-size: 14px;
      line-height: 20px;
    }
     
    .class2 {
      border: 1px solid black;
      margin-bottom: 1px;
      font-size: 6.25vw;
      line-height: 9.375vw;
    }
     
    @media (min-width: 234.375vw) {
      .class3 {
        font-size: 5vw;
        line-height: 6.875vw;
      }
    }

    Example

    'use strict';
     
    var fs = require('fs');
    var postcss = require('postcss');
    var pxToViewport = require('..');
    var css = fs.readFileSync('main.css', 'utf8');
    var options = {
        replace: false
    };
    var processedCss = postcss(pxToViewport(options)).process(css).css;
     
    fs.writeFile('main-viewport.css', processedCss, function (err) {
      if (err) {
        throw err;
      }
      console.log('File with viewport units written.');
    });

    Options

    Default:

    {
      viewportWidth: 750,
      viewportHeight: 1334,
      unitPrecision: 5,
      viewportUnit: 'rem',
      selectorBlackList: [],
      exclude: [],
      minPixelValue: 1,
      mediaQuery: false,
      keepComment: 'no'
    }
    • viewportWidth (Number) The width of the viewport.
    • viewportHeight (Number) The height of the viewport.
    • unitPrecision (Number) The decimal numbers to allow the REM units to grow to.
    • viewportUnit (String) Expected units.
    • selectorBlackList (Array) The selectors to ignore and leave as px.
      • If value is string, it checks to see if selector contains the string.
        • ['body'] will match .body-class
      • If value is regexp, it checks to see if the selector matches the regexp.
        • [/^body$/] will match body but not .body
    • exclude (Array) exclude some files, like [path.join(__dirname, 'src/views/styles')].
    • minPixelValue (Number) Set the minimum pixel value to replace.
    • mediaQuery (Boolean) Allow px to be converted in media queries.
    • keepComment (String) no transform value comment (default: no)

    Install

    npm i deli-px2rem

    DownloadsWeekly Downloads

    4

    Version

    0.0.2

    License

    MIT

    Unpacked Size

    7.04 kB

    Total Files

    4

    Last publish

    Collaborators

    • avatar