4.1 KiB
Css
This module manages CSS rules in the canvas. You can customize the initial state of the module from the editor initialization, by passing the following Configuration Object
const editor = grapesjs.init({
cssComposer: {
// options
}
})
Once the editor is instantiated you can use its API. Before using these methods you should get the module from the instance
const css = editor.Css;
addRules
Add CssRules via CSS string.
Parameters
cssString CSS string of rules to add.
Examples
const addedRules = css.addRules('.my-cls{ color: red } @media (max-width: 992px) { .my-cls{ color: darkred } }');
// Check rules
console.log(addedRules.map(rule => rule.toCSS()));
Returns Array<CssRule> Array of rules
setRule
Add/update the CssRule.
Parameters
-
selectorsString Selector string, eg..myclass -
styleObject Style properties and values -
optsObject Additional properties (optional, default{})
Examples
// Simple class-based rule
const rule = css.setRule('.class1.class2', { color: 'red' });
console.log(rule.toCSS()) // output: .class1.class2 { color: red }
// With state and other mixed selector
const rule = css.setRule('.class1.class2:hover, div#myid', { color: 'red' });
// output: .class1.class2:hover, div#myid { color: red }
// With media
const rule = css.setRule('.class1:hover', { color: 'red' }, {
atRuleType: 'media',
atRuleParams: '(min-width: 500px)',
});
// output: @media (min-width: 500px) { .class1:hover { color: red } }
Returns CssRule The new/updated CssRule
getRule
Get the CssRule.
Parameters
-
selectorsString Selector string, eg..myclass:hover -
optsObject Additional properties (optional, default{})
Examples
const rule = css.getRule('.myclass1:hover');
const rule2 = css.getRule('.myclass1:hover, div#myid');
const rule3 = css.getRule('.myclass1', {
atRuleType: 'media',
atRuleParams: '(min-width: 500px)',
});
Returns CssRule
getRules
Get all rules or filtered by a matching selector.
Parameters
selectorString Selector, eg..myclass(optional, default'')
Examples
// Take all the component specific rules
const id = someComponent.getId();
const rules = css.getRules(`#${id}`);
console.log(rules.map(rule => rule.toCSS()))
// All rules in the project
console.log(css.getRules())
remove
Remove rule, by CssRule or matching selector (eg. the selector will match also at-rules like @media)
Parameters
Examples
// Remove by CssRule
const toRemove = css.getRules('.my-cls');
css.remove(toRemove);
// Remove by selector
css.remove('.my-cls-2');
Returns Array<CssRule> Removed rules
clear
Remove all rules
Parameters
opts(optional, default{})
Returns this