The CSS Object Model is a set of APIs allowing the manipulation of CSS from JavaScript. It is much like the DOM, but for the CSS rather than the HTML. It allows users to read and modify CSS style dynamically.
Reference
AnimationEventCaretPositionCSSCSSCharsetRuleCSSConditionRuleCSSCounterStyleRuleCSSFontFaceRuleCSSFontFeatureValuesMapCSSFontFeatureValuesRuleCSSGroupingRuleCSSImportRuleCSSKeyframeRuleCSSKeyframesRuleCSSMarginRuleCSSMediaRuleCSSNamespaceRuleCSSPageRuleCSSRuleCSSRuleListCSSStyleDeclarationCSSStyleSheetCSSStyleRuleCSSSupportsRuleCSSVariablesMapCSSViewportRuleElementCSSInlineStyleFontFaceFontFaceSetFontFaceSetLoadEventGeometryUtilsGetStyleUtilsLinkStyleMediaListMediaQueryListMediaQueryListEventMediaQueryListListenerScreenStyleSheetStyleSheetListTransitionEvent
Several other interfaces are also extended by the CSSOM-related specifications: Document, Window, Element, HTMLElement, HTMLImageElement, Range, MouseEvent, and SVGElement.
CSS Typed Object Model
This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
CSSImageValueCSSKeywordValueCSSMathInvertCSSMathMaxCSSMathMinCSSMathNegateCSSMathProductCSSMathSumCSSMathValueCSSMatrixComponentCSSNumericArrayCSSNumericValueCSSPerspectiveCSSPositionValueCSSRotateCSSScaleCSSSkewCSSSkewXCSSSkewYCSSStyleValueCSSTransformComponentCSSTransformValueCSSTranslateCSSUnitValueCSSUnparsedValueCSSVariableReferenceValueStylePropertyMapStylePropertyMapReadOnly
Obsolete CSSOM interfaces
Obsolete
This feature is obsolete. Although it may still work in some browsers, its use is discouraged since it could be removed at any time. Try to avoid using it.
Tutorials
- Determining the dimensions of elements (it needs some updating as it was made in the DHTML/Ajax era).
- Managing screen orientation
Specifications
| Specification | Status | Comment |
|---|---|---|
| CSS Typed OM Level 1 | Working Draft | |
| CSS Painting API Level 1 | Working Draft | Extended the CSS interface with the paintWorklet static property. |
| CSS Object Model (CSSOM) View Module | Working Draft | Defined the Screen and MediaQueryList interfaces and the MediaQueryListEvent event and MediaQueryListListener event listener. |
| CSS Object Model (CSSOM) | Working Draft | Extended the CSS interface and provides the base for the modern CSSOM specification. |
| Screen Orientation API | Working Draft | |
| CSS Fonts Module Level 3 | Candidate Recommendation | |
| CSS Animations | Working Draft | |
| CSS Transitions | Working Draft | |
| CSS Custom Properties for Cascading Variables Module Level 1 | Candidate Recommendation | |
| CSS Conditional Rules Module Level 3 | Candidate Recommendation | Defined the CSS interface. |
| CSS Device Adaptation | Working Draft | |
| CSS Counter Styles Level 3 | Candidate Recommendation | |
| Document Object Model (DOM) Level 2 Style Specification | Obsolete | Initial definition. |
Browser compatibility
All these features have been added little by little over the years to the different browsers: it was a quite complex process that can't be summarized in a simple table. Please refer to the specific interfaces for its availability.
