The read-only CSSStyleSheet property cssRules returns a live CSSRuleList which provides a real-time, up-to-date list of every CSS rule which comprises the stylesheet. Each item in the list is a CSSRule defining a single rule.


var rules = cssStyleSheet.cssRules;


A live-updating CSSRuleList containing each of the CSS rules making up the stylesheet. Each entry in the rule list is a CSSRule object describing one rule making up the stylesheet.


Individual rules within the stylesheet can then be accessed by index:

let ruleList = document.styleSheets[0].cssRules;

for (let i=0; i < ruleList.length; i++) {

Rules can also be accessed using for...of:

let ruleList = document.styleSheets[0].cssRules;

for (let rule of ruleList) {

However, because CSSRule is not a proper array, you can't use forEach().


Specification Status Comment
CSS Object Model (CSSOM)
The definition of 'CSSStyleSheet.cssRules' in that specification.
Working Draft

Browser compatibility

BCD tables only load in the browser

See also