unset
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2016.
The unset
CSS keyword resets a property to its inherited value if the property naturally inherits from its parent, and to its initial value if not. In other words, it behaves like the inherit
keyword in the first case, when the property is an inherited property, and like the initial
keyword in the second case, when the property is a non-inherited property.
unset
can be applied to any CSS property, including the CSS shorthand property all
.
Examples
Color
color
is an inherited property.
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;
}
Result
Border
border
is a non-inherited property.
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;
}
Result
Specifications
Specification |
---|
CSS Cascading and Inheritance Level 4 # inherit-initial |
Browser compatibility
BCD tables only load in the browser
See also
- Use the
initial
keyword to set a property to its initial value. - Use the
inherit
keyword to make an element's property the same as its parent. - Use the
revert
keyword to reset a property to the value established by the user-agent stylesheet (or by user styles, if any exist). - Use the
revert-layer
keyword to reset a property to the value established in a previous cascade layer. - The
all
property lets you reset all properties to their initial, inherited, reverted, or unset state at once.