Wallogit.com
2017 © Pedro PelĂĄez
Run Autoprefixer using node.js in you php.
Autoprefixer is a tool to parse CSS and add vendor prefixes to CSS rules using values from the Can I Use. This library provides PHP integration with Node.js application., (*1)
Write your CSS rules without vendor prefixes (in fact, forget about them entirely):, (*2)
$autoprefixer = new Autoprefixer();
$css = 'a { transition: transform 1s }';
$prefixed = $autoprefixer->compile($css);
Autoprefixer uses the data on current browser popularity and properties support to apply prefixes for you:, (*3)
a {
-webkit-transition: -webkit-transform 1s;
transition: -ms-transform 1s;
transition: transform 1s
}
You can ask me any questions by e-mail: vladkens@yandex.ru, (*4)
Create a composer.json file in your project root:, (*5)
{
"require": {
"vladkens/autoprefixer": "dev-master"
}
}
Write in the project root:, (*6)
Linux: php composer.phar install, (*7)
Windows: composer.bat install, (*8)
In index.php write:, (*9)
require_once 'vendor/autoload.php';
$autoprefixer = new Autoprefixer();
$css_one = 'a { color: black; }';
$css_two = 'a { color: white; }';
// If need compile one css. Function return compied CSS.
$prefixed = $autoprefixer->compile($css_one);
echo $prefixed;
// If need compile many css in one time. Function return array of compiled CSS.
$prefixed = $autoprefixer->([$css_one, $css_two]);
echo $prefixed[0] . "\n" . $prefixed[1];
// If occurred error in compile time Autoprefixer throw exception named `AutoprefixerException`.
// You need process it.
try {
$autoprefixer->compile($css_one);
} catch (AutoprefixerException $error) {
echo $error->getMessage();
} catch (Exception $error) {
echo $error->getMessage();
}
// If you want to choose specific browsers
$autoprefixer = new Autoprefixer('last 1 version'); // one rule
// or
$autoprefixer = new Autoprefixer(['ff > 2', '> 2%', 'ie 8']); // many rules
// or
$autoprefixer->setBrowsers('last 1 version');
// or change browsers on a one iteration
$autoprefixer->compile($css_one, 'last 1 version');
// Also, you can get latest version Autoprefixer using
$autoprefixer->update();
On my Intel i5-3210M 2.5GHz and HDD 5200 RPM GitHub styles compiled in 390 ms., (*10)
MIT, (*11)
See https://github.com/ai/autoprefixer/blob/master/README.md, (*12)