59 lines
1.6 KiB
Markdown
59 lines
1.6 KiB
Markdown
Sheet.js by Thomas Aylott of MooTools
|
|
|
|
**STATE: well tested and stable**
|
|
|
|
This project uses semver.org standard version numbering.
|
|
|
|
Sheet.js
|
|
========
|
|
Parse CSS in JavaScript
|
|
|
|
* Test-first Development
|
|
* UniversalJS
|
|
* Zero dependencies
|
|
* DOM-less (no document necessary)
|
|
* CommonJS Modules 1.0+ with global fallback
|
|
* Browser support
|
|
* Implements W3C `document.styleSheets` API
|
|
* Implements WebKit CSS Animation API
|
|
|
|
|
|
Flexible Parsing
|
|
----------------
|
|
|
|
* Supports WebKit CSS Animation syntax
|
|
* Supports custom selectors, @rules, properties and values
|
|
* Supports nested rules
|
|
* Supports HTML style attribute values
|
|
i.e. CSS rules without the selectors and brackets
|
|
|
|
### Coming Soon…
|
|
|
|
* Support for custom CSS-like languages like the Sass 3.0 SCSS (Sassy CSS) and Less CSS
|
|
|
|
|
|
Basic Usage
|
|
-----------
|
|
|
|
ClientSide / Browser Usage
|
|
|
|
var myStyleSheet = new Sheet("#selector { color:blue }");
|
|
myStyleSheet.cssRules[0].style.color; // blue
|
|
// etc…
|
|
|
|
ServerSide / CommonJS Usage
|
|
|
|
require.paths.push('path/to/Sheet.js/Source'); // You might not need this
|
|
var Sheet = require('Sheet').Sheet;
|
|
|
|
var myStyleSheet = new Sheet("#selector { color:blue }");
|
|
myStyleSheet.cssRules[0].style.color; // blue
|
|
// etc…
|
|
|
|
|
|
Advanced ClientSide Namespacing
|
|
-------------------------------
|
|
If you need to move Sheet.js to its own custom namespace simply define a global `exports` object before loading Sheet.js. Sheet.js will see that object, assume that it's in a CommonJS environment and then attach itself onto that object instead of including itself globally.
|
|
|
|
You really shouldn't need to do that.
|
|
But isn't it great to know you could? |