CSSStyleDeclaration

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

CSSStyleDeclaration 接口是表示具有不同支持集 CSS 样式信息的 CSS 声明块的对象的基类。

该接口公开了样式信息以及各种与样式相关的方***和属性。例如,它提供了 getPropertyValue() 用于获取破折号命名的 CSS 属性的值,例如 border-top,由于其名称中的连字符,无法直接使用点表示法访问。

注意: 规范的早期版本使用 CSSStyleDeclaration 来表示所有 CSS 声明块,并且某些浏览器和浏览器版本可能仍然这样做(请检查上述 API 的浏览器兼容性表)。通常,相同的网站代码在旧版本和新版本中都将可用,但 CSSStyleDeclaration 中返回的某些属性在特定上下文中可能无关紧要。

属性

CSSStyleDeclaration.cssText

声明块的文本表示,前提是且仅当它通过 HTMLElement.style 公开时。设置此属性会更改内联样式。如果您想要计算出的声明块的文本表示,可以使用 JSON.stringify() 获取。

CSSStyleDeclaration.length 只读

属性的数量。请参阅下面的 item() 方法。

CSSStyleDeclaration.parentRule 只读

包含的 CSSRule

CSS 属性

CSSStyleDeclaration.cssFloat 已弃用

float CSS 属性的特殊别名。

CSSStyleDeclaration 命名属性

所有支持的 CSS 属性的破折号和驼峰式命名属性。

实例方法

CSSStyleDeclaration.getPropertyPriority()

返回可选的优先级,“important”。

CSSStyleDeclaration.getPropertyValue()

根据属性名返回属性值。

CSSStyleDeclaration.item()

根据索引返回 CSS 属性名,如果索引超出范围则返回空字符串。

CSSStyleDeclaration.removeProperty()

从 CSS 声明块中移除属性。

CSSStyleDeclaration.setProperty()

修改现有 CSS 属性或在声明块中创建新的 CSS 属性。

CSSStyleDeclaration.getPropertyCSSValue() 已弃用

仅通过 Firefox 中的 getComputedStyle 支持。 返回属性值作为 CSSPrimitiveValue,或者对于 简写属性 返回 null

示例

js
const styleObj = document.styleSheets[0].cssRules[0].style;
console.log(styleObj.cssText);

for (let i = styleObj.length; i--; ) {
  const nameString = styleObj[i];
  styleObj.removeProperty(nameString);
}

console.log(styleObj.cssText);

规范

规范
CSS 对象模型 (CSSOM)
# the-cssstyledeclaration-interface

浏览器兼容性