This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.
The CSSSupportsRule interface represents a single CSS @supports at-rule.
Inherits properties from its ancestors CSSConditionRule, CSSGroupingRule, and CSSRule.
Inherits methods from its ancestors CSSConditionRule, CSSGroupingRule, and CSSRule.
The CSS includes a CSS feature query using the @supports at-rule, containing one style rule. This will be the first CSSRule returned by document.styleSheets[0].cssRules. myRules[0] therefore returns a CSSSupportsRule object.
@supports (display: grid) {
body {
color: blue;
}
}
let myRules = document.styleSheets[0].cssRules; console.log(myRules[0]); // a CSSSupportsRule representing the feature query.
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
CSSSupportsRule |
28 | 12 | 22 | 12.1 | 9 | 28 | 22 | 1512.1–14 | 9 | 1.5 | 4.4 | 9 |
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/CSSSupportsRule