CSS preprocessor. Written in PHP
Failed to load latest commit information.
bin Moved command line app alias to a more intuitive location. Dec 3, 2014
docs Allow for @ifset <name>(<value>) checks. Jun 8, 2015
lib Better error message for un-readable imports. Nov 3, 2015
misc Moved command line app alias to a more intuitive location. Dec 3, 2014
plugins Amended doc for rem plugin. Aug 27, 2015
tests Updated test. Jul 31, 2015
.gitignore Adding some tests. Dec 27, 2013
.travis.yml Added php7 (allowing failures) to CI config. Aug 3, 2015
CHANGELOG.md Version bump. Jul 30, 2015
CssCrush.php Deprecated the static api methods in favour of the csscrush_* functions. Jun 5, 2014
README.md Adding source maps to feature list. Feb 20, 2015
aliases.ini Removed some obsolete vendor prefixes. Jul 28, 2015
boilerplate.txt Removing data-modified from default boilerplate. Mar 10, 2014
cli.php Removed `disable` option. Renamed `enable` option to `plugins`, old n… Dec 10, 2014
composer.json Updating composer.json branch alias. Jul 30, 2015
package.json Version bump. Jul 30, 2015


Build Status


CSS-Crush is a standards inspired preprocessor designed to enable a modern and uncluttered CSS workflow.

  • Automatic vendor prefixing
  • Variables
  • Import inlining
  • Nesting
  • Functions (color manipulation, math, data-uris etc.)
  • Rule inheritance (@extends)
  • Mixins
  • Minification
  • Lightweight plugin system
  • Source maps

See the docs for full details.


If you're using Composer you can use Crush in your project with the following line in your terminal:

composer require css-crush/css-crush:dev-master

If you're not using Composer yet just download the library into a convenient location and require the bootstrap file:

<?php require_once 'path/to/CssCrush.php'; ?>

Basic usage


echo csscrush_tag('css/styles.css');


Compiles the CSS file and outputs the following link tag:

<link rel="stylesheet" href="css/styles.crush.css" media="all" />

There are several other functions for working with files and strings of CSS:

  • csscrush_file($file, $options) - Returns a URL of the compiled file.
  • csscrush_string($css, $options) - Compiles a raw string of css and returns the resulting css.
  • csscrush_inline($file, $options, $tag_attributes) - Returns compiled css in an inline style tag.

There are a number of options available for tailoring the output, and a collection of bundled plugins that cover many workflow issues in contemporary CSS development.


If you think you've found a bug please create an issue explaining the problem and expected result.

Likewise, if you'd like to request a feature please create an issue with some explaination of the requested feature and use-cases.

Pull requests are welcome, though please keep coding style consistent with the project (which is based on PSR-2).