web api instance method
CSSStyleSheet: addRule() method
The obsolete CSSStyleSheet interface’s
addRule() legacy method adds a new rule to the
stylesheet. You should avoid using this method, and should instead use the more standard
insertRule() method.
Syntax
addRule(selector, styleBlock, index)
Parameters
selector- : A string specifying the selector portion of the CSS rule. The
default is the string
undefined.
- : A string specifying the selector portion of the CSS rule. The
default is the string
styleBlock- : A string indicating the style block to apply to elements matching
the
selector. The default is the stringundefined.
- : A string indicating the style block to apply to elements matching
the
indexOptional- : An optional index into the stylesheet’s
CSSRuleListat which to insert the new rule. Ifindexis not specified, the next index after the last item currently in the list is used (that is, the value ofcssStyleSheet.cssRules.length).
- : An optional index into the stylesheet’s
Return value
Always returns -1.
Note that due to somewhat esoteric rules about where you can legally insert rules,
it’s possible that an exception may be thrown. See insertRule() for more information.
Usage notes
This method is implemented by browsers by constructing a string using the template
literal `${selector}{${styleBlock}}`, then passing it into the standard
insertRule() method.
Therefore, given existing code such as the following:
cssStyleSheet.addRule(selector, styles, 0);
You can rewrite this to use the more standard insertRule() like this:
cssStyleSheet.insertRule(`${selector} {${styles}}`, 0);
Specifications
SpecificationsStandards references are available on the canonical MDN page.
Browser compatibility
Browser compatibilityCompatibility data is available on the canonical MDN page.