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

瀏覽器相容性