PostCSS plugin This project tries to fix all of flexbug's issues.
bug 4
Input
.foo { flex: 1; } .bar { flex: 1 1; } .foz { flex: 1 1 0; } .baz { flex: 1 1 0px; }
Output
.foo { flex: 1 1; } .bar { flex: 1 1; } .foz { flex: 1 1; } .baz { flex: 1 1; }
bug 6
Input
.foo { flex: 1; }
Output
.foo { flex: 1 1 0%; }
This only fixes css classes that have the
flexproperty set. To fix elements that are contained inside a flexbox container, use this global rule:
* { flex-shrink: 1; }
bug 8.1.a
Input
.foo { flex: 1 0 calc(1vw - 1px); }
Output
.foo { flex-grow: 1; flex-shrink: 0; flex-basis: calc(1vw - 1px); }
Usage
postcss([require('postcss-flexbugs-fixes')]);
You can also disable bugs individually, possible keys bug4, bug6 and bug8a.
var plugin = require('postcss-flexbugs-fixes'); postcss([plugin({ bug6: false })]);
See PostCSS docs for examples for your environment.