vcss v0.1.1
x-css
Enables programmatic and expressive declaration of stylesheets.
How to use
import Sheet from 'x-css';
let css = new Sheet();
let width = 120;
let fade = css.anim({
from: { opacity: 0 },
to: { opacity: 1 }
})
css.add('div > p', {
'width': width, // casted to '10px'
'font-weight': 'bold',
'animation': `${fade} 1s ease-in`
});API
The main module exports the following:
Sheet(default)BlockScopeMediaAnimationRuleset
Sheet()
Initializes a new Sheet, which is the main
scope under which other scopes and ruleset
blocks are inserted.
Extends Scope.
Sheet.anim(String name, Object frames, Boolean withPrefixes)
Creates a new Animation scope with the given frames,
and appends it to the current scope.
By default, when the Animation object is serialized, it'll include
-o, -webkit and -moz prefixes. Passing false to withPrefixes
will disable this.
Returns the Animation object.
Sheet.media(String params)
Creates a new Media scope with the given frames,
and appends it to the current scope.
Returns the Media object.
Media(String params)
Accepts params which is a string like
only screen and (orientation: portrait).
Extends Scope.
Scope()
Initializes a new Scope object.
Extends Block.
Scope.add(Block blk)
Appends the Block identified by blk to the scope.
Valid Block objects are for example Ruleset or
another Scope.
Scope.add(String sel, Object decs)
Creates and appends a Ruleset for the selector
sel and declarations decs.
scope.add('img', {
border: 'none'
});Scope.remove(Block block)
Removes the child of the main scope identified by
the given block.
Ruleset(String sel, Object decs)
Creates a ruleset identified by selector sel
and declaration pairs decs.
Extends Block.
Animation(String name, Boolean withPrefixes)
Creates an Animation with the given name.
By default, when the object is serialized, it'll include
-o, -webkit and -moz prefixes. Passing false to withPrefixes
will disable this.
Block
Abstract interface to represent any node within the style hierarchy.
Ruleset and Scope inherit from Block.
Block.serialize()
Abstract method. All blocks must be serializable
as a String.
This method is implemented on Ruleset, Scope,
Media and Animation.
License
MIT