UNPKG

2.02 kBMarkdownView Raw
1# postcss-pxtorem [![NPM version](https://badge.fury.io/js/postcss-pxtorem.svg)](http://badge.fury.io/js/postcss-pxtorem)
2
3A plugin for [PostCSS](https://github.com/ai/postcss) that generates rem units from pixel units.
4
5
6## Usage
7
8Pixels are the easiest unit to use (*opinion*). The only issue with them is that they don't let browsers change the default font size of 16. This script converts every px value to a rem from the properties you choose to allow the browser to set the font size.
9
10
11### Example
12
13```js
14var fs = require('fs');
15var postcss = require('postcss');
16var pxtorem = require('postcss-pxtorem');
17var css = fs.readFileSync('main.css', 'utf8');
18var options = {
19 replace: false
20};
21var processedCss = postcss(pxtorem(options)).process(css).css;
22
23fs.writeFile('main-rem.css', processedCss, function (err) {
24 if (err) {
25 throw err;
26 }
27 console.log('Rem file written.');
28});
29```
30
31### options
32
33Type: `Object | Null`
34Default:
35```js
36{
37 root_value: 16,
38 unit_precision: 5,
39 prop_white_list: ['font', 'font-size', 'line-height', 'letter-spacing'],
40 replace: true,
41 media_query: false
42}
43```
44
45- `root_value` (Number) The root element font size.
46- `unit_precision` (Number) The decimal numbers to allow the REM units to grow to.
47- `prop_white_list` (Array) The properties that can change from px to rem.
48- `replace` (Boolean) replaces rules containing rems instead of adding fallbacks.
49- `media_query` (Boolean) Allow px to be converted in media queries.
50
51
52### Use with gulp-postcss and autoprefixer-core
53```js
54var gulp = require('gulp');
55var postcss = require('gulp-postcss');
56var autoprefixer = require('autoprefixer-core');
57var pxtorem = require('postcss-pxtorem');
58
59gulp.task('css', function () {
60
61 var processors = [
62 autoprefixer({
63 browsers: 'last 1 version'
64 }),
65 pxtorem({
66 replace: false
67 })
68 ];
69
70 return gulp.src(['build/css/**/*.css'])
71 .pipe(postcss(processors))
72 .pipe(gulp.dest('build/css'));
73});
74```