CSS 对象模型
CSS 对象模型是一组允许用 JavaScript 操纵 CSS 的 API。它很像 DOM,但针对的是 CSS 而不是 HTML。它允许用户动态地读取和修改 CSS 样式。
CSS 的值是没有类型的,也就是使用 String 对象来表示。
参考
AnimationEventCaretPositionCSSCSSCharsetRuleCSSConditionRuleCSSCounterStyleRule(en-US)CSSFontFaceRule(en-US)CSSFontFeatureValuesMapCSSFontFeatureValuesRule(en-US)CSSGroupingRuleCSSImportRule(en-US)CSSKeyframeRule(en-US)CSSKeyframesRule(en-US)CSSMarginRuleCSSMediaRuleCSSNamespaceRule(en-US)CSSPageRuleCSSRuleCSSRuleListCSSStyleDeclarationCSSStyleSheetCSSStyleRuleCSSSupportsRuleCSSVariablesMapCSSViewportRuleFontFaceFontFaceSetFontFaceSetLoadEvent(en-US)GetStyleUtilsMediaListMediaQueryListMediaQueryListEventScreenStyleSheetStyleSheetListTransitionEvent
CSSOM 相关规范也扩展了其他几个接口:Document、Window、Element、HTMLElement、HTMLImageElement、Range、MouseEvent 和 SVGElement。
CSS 类型化对象模型 实验性
CSSImageValue(en-US) 实验性CSSKeywordValue(en-US) 实验性CSSMathInvert(en-US) 实验性CSSMathMax(en-US) 实验性CSSMathMin(en-US) 实验性CSSMathNegate(en-US) 实验性CSSMathProduct(en-US) 实验性CSSMathSum实验性CSSMathValue(en-US) 实验性CSSMatrixComponent(en-US) 实验性CSSNumericArray(en-US) 实验性CSSNumericValue(en-US) 实验性CSSPerspective(en-US) 实验性CSSPositionValue(en-US) 实验性CSSRotate(en-US) 实验性CSSScale(en-US) 实验性CSSSkew(en-US) 实验性CSSSkewX(en-US) 实验性CSSSkewY(en-US) 实验性CSSStyleValue(en-US) 实验性CSSTransformComponent(en-US) 实验性CSSTransformValue(en-US) 实验性CSSTranslate(en-US) 实验性CSSUnitValue(en-US) 实验性CSSUnparsedValue(en-US) 实验性CSSVariableReferenceValue(en-US) 实验性StylePropertyMap实验性StylePropertyMapReadOnly(en-US) 实验性
废弃的 CSSOM 接口 已弃用
已弃用: 不再推荐使用该特性。虽然一些浏览器仍然支持它,但也许已从相关的 web 标准中移除,也许正准备移除或出于兼容性而保留。请尽量不要使用该特性,并更新现有的代码;参见本页面底部的兼容性表格以指导你作出决定。请注意,该特性随时可能无法正常工作。
CSSPrimitiveValue(en-US) 已弃用CSSValue已弃用CSSValueList已弃用
教程
- 决定元素的维度(这篇文档可能有点过时,因为它是在 DHTML/Ajax 时代写的)。
- 管理屏幕方向 (en-US)
规范
| Specification |
|---|
| CSS Object Model (CSSOM) |
| CSSOM View Module |
| CSS Typed OM Level 1 |
浏览器兼容性
所有这些功能都是多年来一点一点地添加到不同的浏览器中的:这是一个相当复杂的过程,不能用一个简单的表格来概括。请参考具体的接口,了解其可用性。