web api overview
CSS Object Model (CSSOM)
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.
The values of CSS are represented untyped, that is using String objects.
Reference
AnimationEventCaretPositionCSSCSSConditionRuleCSSCounterStyleRuleCSSFontFaceDescriptorsCSSFontFaceRuleCSSFontFeatureValuesMapCSSFontFeatureValuesRuleCSSFunctionDeclarationsCSSFunctionDescriptorsCSSFunctionRuleCSSGroupingRuleCSSImportRuleCSSKeyframeRuleCSSKeyframesRuleCSSMarginRuleCSSMediaRuleCSSNamespaceRuleCSSPageRuleCSSPositionTryRuleCSSPositionTryDescriptorsCSSRuleCSSRuleListCSSStartingStyleRuleCSSStyleDeclarationCSSStyleSheetCSSStyleRuleCSSSupportsRuleCSSNestedDeclarationsFontFaceFontFaceSetFontFaceSetLoadEventMediaListMediaQueryListMediaQueryListEventScreenStyleSheetStyleSheetListTransitionEventVisualViewport
Several other interfaces are also extended by the CSSOM-related specifications: Document, Window, Element, HTMLElement, HTMLImageElement, Range, MouseEvent, and SVGElement.
CSS Typed Object Model
CSSImageValueCSSKeywordValueCSSMathClampCSSMathInvertCSSMathMaxCSSMathMinCSSMathNegateCSSMathProductCSSMathSumCSSMathValueCSSMatrixComponentCSSNumericArrayCSSNumericValueCSSPerspectiveCSSPositionValueCSSRotateCSSScaleCSSSkewCSSSkewXCSSSkewYCSSStyleValueCSSTransformComponentCSSTransformValueCSSTranslateCSSUnitValueCSSUnparsedValueCSSVariableReferenceValueStylePropertyMapStylePropertyMapReadOnly
Obsolete CSSOM interfaces Deprecated
CSSPrimitiveValueDeprecatedCSSValueDeprecatedCSSValueListDeprecated
Tutorials
Specifications
SpecificationsStandards references are available on the canonical MDN page.
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.