This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
The parentRule property of the CSSRule interface returns the containing rule of the current rule if this exists, or otherwise returns null.
A CSSRule which is the type of the containing rules. If the current rule is inside a media query, this would return CSSMediaRule. Otherwise it returns null.
@media (width >= 500px) {
.box {
width: 100px;
height: 200px;
background-color: red;
}
body {
color: blue;
}
}
let myRules = document.styleSheets[0].cssRules; let childRules = myRules[0].cssRules; console.log(childRules[0].parentRule); // a CSSMediaRule
| Specification |
|---|
| CSS Object Model (CSSOM)> # dom-cssrule-parentrule> |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
parentRule |
1 | 12 | 1 | ≤12.1 | 1 | 18 | 4 | ≤12.1 | 1 | 1.0 | 4.4 | 1 |
© 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/CSSRule/parentRule