unset

Baseline 已廣泛支援

此特性已經非常成熟,並且適用於許多裝置和瀏覽器版本。自 2016 年 3 月以來,它已在所有瀏覽器中可用。

unset CSS 關鍵字將屬性重置為其繼承值(如果該屬性自然地從其父級繼承)以及其初始值(如果不繼承)。換句話說,在前一種情況下,當屬性是繼承屬性時,它的行為類似於inherit關鍵字;在後一種情況下,當屬性是非繼承屬性時,它的行為類似於initial關鍵字。

unset 可以應用於任何 CSS 屬性,包括 CSS 簡寫屬性 all

示例

顏色

color 是一個繼承屬性。

HTML

html
<p>This text is red.</p>
<div class="foo">
  <p>This text is also red.</p>
</div>
<div class="bar">
  <p>This text is green (default inherited value).</p>
</div>

CSS

css
.foo {
  color: blue;
}

.bar {
  color: green;
}

p {
  color: red;
}

.bar p {
  color: unset;
}

結果

邊框

border 是一個非繼承屬性。

HTML

html
<p>This text has a red border.</p>
<div>
  <p>This text has a red border.</p>
</div>
<div class="bar">
  <p>This text has a black border (initial default, not inherited).</p>
</div>

CSS

css
div {
  border: 1px solid green;
}

p {
  border: 1px solid red;
}

.bar p {
  border-color: unset;
}

結果

規範

規範
CSS 層疊與繼承第四級
# inherit-initial

瀏覽器相容性

另見

  • 使用 initial 關鍵字將屬性設定為其初始值。
  • 使用 inherit 關鍵字使元素的屬性與其父元素相同。
  • 使用 revert 關鍵字將屬性重置為使用者代理樣式表(或使用者樣式,如果存在)建立的值。
  • 使用 revert-layer 關鍵字將屬性重置為在先前層疊層中建立的值。
  • all 屬性允許你一次性將所有屬性重置為它們的初始、繼承、恢復或未設定狀態。