This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
The read-only media property of the CSSImportRule interface returns a MediaList object, containing the value of the media attribute of the associated stylesheet.
Returns a MediaList object.
The value of media can be set by passing a string containing the media attribute; for example "print".
The following stylesheet includes a single @import rule. Therefore the first item in the list of CSS rules will be a CSSImportRule. The media property returns a MediaList object. This includes the mediaText property with a value of screen.
@import "style.css" screen;
const myRules = document.styleSheets[0].cssRules; console.log(myRules[0].media); // A MediaList
To change the media attribute of the associated stylesheet, set the value of media to a string containing the new value.
const myRules = document.styleSheets[0].cssRules; myRules[0].media = "print";
| Specification |
|---|
| CSS Object Model (CSSOM)> # dom-cssimportrule-media> |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
media |
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/CSSImportRule/media