Need help with node-pixrem?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

robwierzbowski
200 Stars 23 Forks MIT License 118 Commits 12 Opened issues

Description

CSS post-processor that generates pixel fallbacks for rem units.

Services available

!
?

Need anything else?

Contributors list

# 83,648
CSS
npm
HTML
postcss...
60 commits
# 696
React
CSS
TypeScr...
postcss...
4 commits
# 18,886
HTML
CSS
React
stylus
2 commits
# 82,508
HTML
jQuery
nginx
nginx-c...
1 commit
# 43,127
Node.js
contrib...
HTML
webfram...
1 commit
# 39,508
HTML
web-fon...
Shell
gulp-pl...
1 commit
# 127,838
JavaScr...
HTML
javascr...
inline-...
1 commit
# 23,715
JavaScr...
openvpn
Redux
flexbox...
1 commit
# 9,563
autohot...
ahk
bitwise...
Nette
1 commit
# 8,107
CSS
React N...
npm
postcss...
1 commit
# 4,295
js
reactjs
exec
Electro...
1 commit

Pixrem

Build Status

PostCSS plugin that generates pixel fallbacks for rem units.

Installation

npm install --save pixrem

Usage

Pixrem is a CSS post-processor that, given CSS and a root em value, returns CSS with pixel unit fallbacks or replacements. It's based on browser data so only needed fallbacks will be added. Basically, it's for IE8 or less, and for IE9 & IE10 in the

font
shorthand property and in pseudo-elements.

Example

'use strict';
var fs      = require('fs');
var pixrem  = require('pixrem');
var postcss = require('postcss');

var css = fs.readFileSync('main.css', 'utf8'); var processedCss = postcss([pixrem]).process(css).css;

fs.writeFile('main.with-fallbacks.css', processedCss, function (err) { if (err) { throw err; } console.log('IE8, you're welcome.'); });

Pixrem takes this:

.sky {
  margin: 2.5rem 2px 3em 100%;
  color: blue;
}

@media screen and (min-width: 20rem) { .leaf { margin-bottom: 1.333rem; font-size: 1.5rem; } }

And returns this:

.sky {
  margin: 80px 2px 3em 100%;
  margin: 2.5rem 2px 3em 100%;
  color: blue;
}

@media screen and (min-width: 20rem) { .leaf { margin-bottom: 1.333rem; font-size: 1.5rem; } }

Options

Type:

Object | Null
Default:
{rootValue: 16, replace: false, atrules: false, html: true, browsers: 'ie <= 8', unitPrecision: 3}
  • rootValue
    the root element font size. Can be
    px
    ,
    rem
    ,
    em
    ,
    %
    , or unitless pixel value. Pixrem also tries to get the root font-size from CSS (
    html
    or
    :root
    ) and overrides this option. Use
    html
    option to disable this behaviour.
  • replace
    replaces rules containing
    rem
    s instead of adding fallbacks.
  • atrules
    generates fallback in at-rules too (media-queries)
  • html
    overrides root font-size from CSS
    html {}
    or
    :root {}
  • browsers
    sets browser's range you want to target, based on browserslist
  • unitPrecision
    control the significant digits after the decimal point

Contribute

Report bugs and feature proposals in the Github issue tracker. Run tests with

npm test
. In lieu of a formal styleguide, take care to maintain the existing coding style.

License

MIT

Bitdeli Badge

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.