PostCSS plugin for automatic conditional rules reset. Useful for creation of bullet-proof styles isolation in your extension. Can be used in combination with postcss-initial.
.block {
padding: 1em;
}
.block__element {
margin: 1em;
}
.block--modifier {
border: 1em;
}
.block { /* reseted */
all: initial;
padding: 1em;
}
.block__element { /* reseted */
all: initial;
margin: 1em;
}
.block--modifier { /* ignored, we don`t need to reset BEM modifiers */
border: 1em;
}
Set of properties that we use to reset rules.
Takes string
or object
.
Possible values:
- 'initial' -
all: initial
; - 'sizes' - reset size properties.
Use object to create your own reset. CSS-in-JS notation is supported.
Example
postcss([ require('postcss-autoreset')({
reset: {
margin: 0,
padding: 0,
borderRadius: 0
}
})])
Rules filter function.
Takes string
or function
.
Possible values:
- 'bem' - reset all BEM blocks and element, ignore modifiers. (naming:
.block__element-modifier
); - 'suit' - reset all SUIT CSS components and parts, ignore modifiers and states.
You can define custom rules filter to fit your styles naming.
Example
postcss([ require('postcss-autoreset')({
rulesMatcher: (rule)=> rule.selector.match(/regexp/)
})])
postcss([ require('postcss-autoreset')])
See PostCSS docs for examples for your environment.