Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

gulp-px2rem-converter

dasx1054MIT1.6.0

Gulp plugin. Converts all properties in pixels to rem, also converts all media in pixels in em

gulpplugin, gulp, css, less, scss, converter, pixel, px, to, rem, em, rem2px, media2em, media

readme

gulp converter pixel to rem

Build Status

Convert all px to rem

install

npm i -D gulp-px2rem-converter

use

const gulp = require('gulp');
const pxToRem = require('gulp-px2rem-converter')

function css(){
    return gulp.src('./*.css')
    .pipe(pxToRem())
    .pipe(gulp.dest('./dist'))
}

module.exports.css = css;

If you are not using :root or html or they do not have a font-size then you can ignore it. The default value 16px will be taken or you can specify this value manually

pxToRem(16)

or

pxToRem('16px')

or

pxToRem('100%')

run

gulp css

example

input

html{
    font-size: 62.5%;
}
div{
    padding: 160px;
    border:1px solid red;
}
@media (min-width:120px){
    div{
        padding: 120px;
    }
}

output

html{
    font-size: 62.5%;
}
div{
    padding: 16rem;
    border:0.1rem solid red;
}
@media (min-width:12em){
    div{
        padding: 12rem;
    }
}

example use :root

input


:root{
    font-size: 20px;
}
html{
    font-size: 20px;
}
div{
    padding: 40px;
}
@media(min-width:1200px){
    div{
        padding: 60px;
    }
}

output

:root{
    font-size: 20px;
}
html{
    font-size: 1rem;
}
div{
    padding: 2rem;
}
@media(min-width:60em){
    div{
        padding: 3rem;
    }
}

info

The plugin works with units such as % or px. If you are using other devices, do not use this plugin. Unable to compute units that are dynamic by the browser.

Also converts all @media to em where px was used. Using em will resize all dimensions to those specified by the user. rem is not used due to bugs in Safari browsers

The plugin is not case sensitive. You can enter both px and PX or Px

Doesn't work if you use font-size in :root or html in @ media. By default will take only the first font-size in :root or html if there is nofont-size value in :root

compatibility

css less(http://lesscss.org/) scss

changelog

Changelog

1.5.0 The Promised Hashing

  • fixed bugs return px in empty :root
  • fixed bugs return px in empty html
  • fixed bugs return html in empty :root
  • fixed bugs return 16px in empty :root and html
  • fixed bugs default parameters

total tests


- PASS  test/getRoot.spec.js
- PASS  test/genMedia.spec.js (16.258 s)
- PASS  test/findRoot.spec.js
- PASS  test/genExpectTag.spec.js
- PASS  test/genInPx.spec.js
- PASS  test/genDefault.spec.js
- PASS  test/getTypePx.spec.js
- PASS  test/getTypeDefault.spec.js
- PASS  test/getTypeP.spec.js

Test Suites: 9 passed, 9 total
Tests:       12289 passed, 12289 total