Code Monkey home page Code Monkey logo

autoprefixer-php's Introduction

Autoprefixer PHP Build Status

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.

Write your CSS rules without vendor prefixes (in fact, forget about them entirely):

$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:

a {
  -webkit-transition: -webkit-transform 1s;
  transition: -ms-transform 1s;
  transition: transform 1s
}

You can ask me any questions by e-mail: [email protected]

Install

  • First you need install Node.js in your server.

Install via Composer.

  • Create a composer.json file in your project root:

    {
        "require": {
            "vladkens/autoprefixer": "dev-master"
        }
    }
  • Write in the project root:

    Linux: php composer.phar install

    Windows: composer.bat install

  • In index.php write:

    require_once 'vendor/autoload.php';

Usage

$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();

Speed

On my Intel i5-3210M 2.5GHz and HDD 5200 RPM GitHub styles compiled in 390 ms.

License

MIT

More docs

See https://github.com/ai/autoprefixer/blob/master/README.md

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.