Skip to content

A plugin for that generates rpx units from pixel units, it also can generate units which you want.

License

Notifications You must be signed in to change notification settings

yingye/postcss-px2units

Repository files navigation

English | 简体中文

postcss-px2units

Build Status npm version change-log

A plugin for PostCSS that generates rpx units from pixel units, it also can generate units which you want.

Install

$ npm install postcss-px2units --save-dev

Usage

Input/Output

With the default settings, we will get this output.

/* input */
p {
  margin: 0 0 20px;
  font-size: 32px;
  line-height: 1.2;
  letter-spacing: 1px; /* no */
}

/* output */
p {
  margin: 0 0 20rpx;
  font-size: 32rpx;
  line-height: 1.2;
  letter-spacing: 1px;
}

Example

var fs = require('fs');
var postcss = require('postcss');
var pxtorem = require('postcss-pxtorem');
var css = fs.readFileSync('main.css', 'utf8');
var options = {
    replace: false
};
var processedCss = postcss(pxtorem(options)).process(css).css;

fs.writeFile('main-rem.css', processedCss, function (err) {
  if (err) {
    throw err;
  }
  console.log('Rem file written.');
});

options

Type: Object | Null

Default:

{
  divisor: 1,
  multiple: 1,
  decimalPlaces: 2,
  comment: 'no',
  targetUnits: 'rpx'
}

Detail:

  • divisor(Number): divisor, replace pixel value with pixel / divisor.
  • multiple(Number): multiple, replace pixel value with pixel * multiple.
  • decimalPlaces(Number): the number of decimal places. For example, the css code is width: 100px, we will get the vaule is Number(100 / divisor * multiple).toFixed(decimalPlaces).
  • comment(String): default value is 'no'. For example, if you set it 'not replace', the css code width: 100px; /* not replace */ will be translated to width: 100px;
  • targetUnits(String): The units will replace pixel units, you can set it 'rem'.

Use with gulp-postcss

var gulp = require('gulp');
var postcss = require('gulp-postcss');
var pxtounits = require('postcss-pxtounits');

gulp.task('css', function () {
  return gulp.src('./test/src/css/**/*.css')
    .pipe(postcss([pxtounits()]))
    .pipe(gulp.dest('./test/dist/css'));
});

Tips

If you want to use it in WePY, please use wepy-plugin-px2units.

About

A plugin for that generates rpx units from pixel units, it also can generate units which you want.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published