This prefixer aims to be small in terms of bundle size but also aims to support all common transformations and prefixes for all evergreen browsers and IE11.
Most transformation can be expressed as simple prefixes, which
add -ms-
, -moz-
, or -webkit-
to a CSS property.
These are compiled into three regular expressions, which is
generated by scripts/generate-prefix-map.js
.
This code generation is based on the data available in
inline-style-prefixer
and mdn-data/css
.
Some transformations are more complex and require full functions
to be executed. However, not all transformations (i.e. "plugins")
from inline-style-prefixer
have been ported, since they're not
all supported in IE11 anyway. If the output
of a transformation is not supported in IE11, then it won't be
included in this library, and additionally, if a transformation
is not needed by any browser within a reasonable usage range,
then it's also omitted:
calc
: Won't be prefixed with-moz
for Firefox <16, as its usage has dropped below 0.1%.cross-fade()
: Not supported by Firefox, Edge, or IE11.cursor
: Does not need to be prefixed for any supported browser.filter
: Not supported by Firefox, Edge, Chrome, or IE11.image-set()
: Not supported by Firefox, Edge, or IE11.animation
: All browsers that require prefixing have usage numbers at or below 0.66%.transition
: All browsers that require prefixing have usage numbers at or below 0.66%.- Intrinsic & Extrinsic Sizing: This is not widely supported yet, with IE11 and Edge not supporting it, and most other browsers requiring prefixes.
- CSS Gradient functions: All browsers that require prefixing have usage numbers at or below 0.66%.
background-clip
: Thetext
value does not transform to-webkit-text, text
as that's not supported in IE11.- Flexbox and Grid: No prefix is worth being performed due to the amount of inconsistencies which would only apply to IE11.