coderef

CSS object modelBaseline · Widely available

The CSS object model API reads, creates, and modifies CSS stylesheets and inline styles. Also known as CSSOM.

Supported in all major browsers for at least 30 months — safe to use without fallbacks. Baseline since Sep 30, 2015. Widely available since Mar 30, 2018.

Browser support

DesktopChrome
1–27Not supported
28+Supportedsince Jul 9, 2013
Current: 155
Edge
12+Supportedsince Jul 29, 2015
Current: 154
Firefox
1–21Not supported
22+Supportedsince Jun 25, 2013
Current: 157
Safari
1–8Not supported
9+Supportedsince Sep 30, 2015
Current: 27
MobileChrome Android
18–27Not supported
28+Supportedsince Jul 10, 2013
Current: 155
Firefox Android
4–21Not supported
22+Supportedsince Jun 25, 2013
Current: 157
Safari iOS
1–8Not supported
9+Supportedsince Sep 16, 2015
Current: 27

How to use

This feature is Baseline widely available — use it freely, no fallback needed.

Example

JS
const sheet = new CSSStyleSheet();
sheet.replaceSync(".highlight { background: yellow; }");
document.adoptedStyleSheets = [...document.adoptedStyleSheets, sheet];

Feature detection

JS · check before using
if ("CSS" in globalThis) {
  // CSS is available
} else {
  // load a polyfill or use a fallback
}

Sub-features

Support for each part of the feature (79). The overall table above shows when the whole feature works.

Sub-featureChromeEdgeFirefoxSafariChrome AndroidFirefox AndroidSafari iOS
CSS281222928229
CSSConditionRule56122014.1562014.5
CSSConditionRule.conditionText56122014.1562014.5
CSSGroupingRule45122014.1452014.5
CSSGroupingRule.cssRules45122014.1452014.5
CSSGroupingRule.deleteRule45122014.1452014.5
CSSGroupingRule.insertRule45122014.1452014.5
CSSMarginRule131131✕✕131✕✕
CSSMarginRule.name131131✕✕131✕✕
CSSMarginRule.style131131✕✕131✕✕
CSSMediaRule112131841
CSSMediaRule.media112131841
CSSPageDescriptors✕✕12926✕12926
CSSPageDescriptors.margin✕✕12926✕12926
CSSPageDescriptors.margin-bottom✕✕12926✕12926
CSSPageDescriptors.margin-left✕✕12926✕12926
CSSPageDescriptors.margin-right✕✕12926✕12926
CSSPageDescriptors.margin-top✕✕12926✕12926
CSSPageDescriptors.marginBottom✕✕12926✕12926
CSSPageDescriptors.marginLeft✕✕12926✕12926
Show 59 more
Sub-featureChromeEdgeFirefoxSafariChrome AndroidFirefox AndroidSafari iOS
CSSPageDescriptors.marginRight✕✕12926✕12926
CSSPageDescriptors.marginTop✕✕12926✕12926
CSSPageDescriptors.page-orientation✕✕129✕✕129✕
CSSPageDescriptors.pageOrientation✕✕129✕✕129✕
CSSPageDescriptors.size✕✕12926✕12926
CSSPageRule11219318191
CSSPageRule.selectorText1121103181101
CSSPageRule.style11219318191
CSSPageRule.style.type_CSSPageDescriptors✕✕12926✕12926
CSSRule112111841
CSSRule.cssText112111841
CSSRule.parentRule112111841
CSSRule.parentStyleSheet112111841
CSSRuleList112111841
CSSRuleList.item112111841
CSSRuleList.length112111841
CSSStyleDeclaration112111841
CSSStyleDeclaration.@@iterator51183611513611
CSSStyleDeclaration.cssText112111841
CSSStyleDeclaration.getPropertyPriority112111841
CSSStyleDeclaration.getPropertyValue112111841
CSSStyleDeclaration.item112161846
CSSStyleDeclaration.length112161846
CSSStyleDeclaration.parentRule112111841
CSSStyleDeclaration.removeProperty112111841
CSSStyleDeclaration.setProperty112161846
CSSStyleRule112111841
CSSStyleRule.selectorText112111841
CSSStyleRule.style112111841
CSSStyleSheet112111841
CSSStyleSheet.cssRules112111841
CSSStyleSheet.deleteRule112111841
CSSStyleSheet.insertRule112111841
CSSStyleSheet.insertRule.index_parameter_optional11255118551
CSSStyleSheet.ownerRule112111841
Document.styleSheets112141843.2
HTMLElement.style112131841
HTMLLinkElement.sheet112111841
HTMLStyleElement.sheet112111841
MediaList112111841
MediaList.appendMedium112111841
MediaList.deleteMedium112111841
MediaList.item112111841
MediaList.length112111841
MediaList.mediaText112111841
MediaList.toString112111841
ProcessingInstruction.sheet179111841
ShadowRoot.styleSheets53796312.1536312.2
StyleSheet112111841
StyleSheet.disabled112111841
StyleSheet.href112111841
StyleSheet.media112111841
StyleSheet.ownerNode112111841
StyleSheet.parentStyleSheet112111841
StyleSheet.title112111841
StyleSheet.type112111841
StyleSheetList112111841
StyleSheetList.item112111841
StyleSheetList.length112111841