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

Update compatibility data on GitHub
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
cssRulesChrome Full support YesEdge Full support 12Firefox Full support 1IE Full support 9Opera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesFirefox Android Full support 4Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes


Full support  
Full support

See also