陈鹏铭 93064e9f91 首次提交 11 miesięcy temu
..
.editorconfig 93064e9f91 首次提交 11 miesięcy temu
.eslintrc 93064e9f91 首次提交 11 miesięcy temu
.travis.yml 93064e9f91 首次提交 11 miesięcy temu
CHANGELOG.md 93064e9f91 首次提交 11 miesięcy temu
LICENSE 93064e9f91 首次提交 11 miesięcy temu
README.md 93064e9f91 首次提交 11 miesięcy temu
README_CN.md 93064e9f91 首次提交 11 miesięcy temu
index.js 93064e9f91 首次提交 11 miesięcy temu
package.json 93064e9f91 首次提交 11 miesięcy temu

README.md

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.