Most mobile and cross-platform web developers have encountered the problem at some point: you need your web app to scale neatly to the device screen size, regardless of which of the many thousands of devices there are out there, but your units only have one design layout width, mainly mobile. Or perhaps you need to create a per-device stylesheet for a truly scalable cross-platform UI, and want to use a scaled version of an original to base it upon. In either case, converting everything by hand is laborious and inconvenient.
Grappling with this problem in one of our projects, the Med.me app, our leading frontend developer Dmitriy Karpunin came up with the idea of using a post-processor to convert CSS values from one set of units to another, and that’s how
postcss-px-to-viewport, a plug-in for PostCSS that converts px values to viewport units (
vw, vh, etc.), was born.
For example, if you specify a notional horizontal resolution of 640 pixels and you specify a horizontal distance of
32px, the plug-in will convert that to
5vw in the output, because 32 pixels is 5% of the 640 pixel viewport width.
The plug-in also has plenty of options for customization, to control exactly which values to convert, and where, and based upon which notional resolution.
#open-source #plugins #ui #cross-platform #css3