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 属性允许你一次性将所有属性重置为它们的初始、继承、恢复或未设置状态。