/postcss-math

PostCSS plugin for making calculations with math.js

Primary LanguageJavaScriptMIT LicenseMIT

PostCSS Math Build Status

Work-in-progress!

PostCSS plugin for making calculations with math.js.

This plug-in supports:

  • Plain-old maths, as per math.js built-in functionality
  • px, em, rem, vh, vmax and other units
  • CSS-friendly rendering (10cm not 10 cm)
  • Unit stripping e.g. strip(25px) becomes 25
  • Unit math operations e.g. floor(12.6px) becomes 12px and ceil(12.6px) becomes 13px

Contributions are very welcome!

.foo {
    font-size: resolve(2 * 8px);
    padding: resolve(strip(16cm) + (2px * 3));
    margin: resolve(4px + resolve(2 * 3px));
}
.foo {
    font-size: 16px;
    padding: 22px;
    margin: 10px;
}

Usage

postcss([ require('postcss-math') ])

See PostCSS docs for examples for your environment.

Using postcss-assets?

You can pass in a functionName option to switch to something other than resolve.

How does this differ to postcss-calc?

They're (deliberately) trying to work towards the calc(...) standard, so for instance it doesn't support things like exponentials at the moment. This wraps up math.js so you have a wider range of things you can do.