The Four CSS Keywords That Reset Everything—and Why None Are Quite Right
Every CSS property accepts four special keyword values that manipulate the cascade: inherit, initial, unset, and revert. Most developers reach for inherit first—it's been around the longest and its behavior is intuitive: the element simply takes the computed value from its parent chain. A common example is forcing link colors in a footer to match the surrounding text without repeating the declaration.
<footer>
©2012 Website — <a href="https://css-tricks.com/contact">Contact</a>
</footer>
/* General site styles */
a {
color: blue;
}
footer {
color: white;
}
footer a {
color: inherit;
}
That approach is clean and avoids setting the same value twice. But the other three keywords behave in far less intuitive ways:
initialresets a property to its specification-defined default.unsetacts as a hybrid: for inherited properties likecolor, it behaves likeinherit; for non-inherited properties likefloat, it behaves likeinitial. Confusing enough that many devs never touch it.revertis similarly tricky. For inherited properties it still meansinherit, but for non-inherited properties it falls back to the browser's user-agent (UA) stylesheet value. So revertingdisplayon a<p>element won't force it toinline—it stays sensibly atblock.
CSS-Tricks' Chris Coyier has argued that what's really needed is a fifth keyword called default, which would always revert to the UA stylesheet, even for inherited properties—a stronger version of revert. As PPK notes in his own analysis, that would be genuinely useful: a way to blast away all inherited values on any given element, effectively creating scoped styles without resetting everything globally.
Chris Coyier argues we need a new value which he callsdefault. It reverts to the browser style sheet in all cases, even for inherited properties. Thus it is a stronger version ofrevert. I agree. This keyword would be actually useful.
PPK proposes another candidate: cascade. The idea is that it would work like currentColor—except for any property, not just color. It would expose the cascaded value as a free variable you could reference in other contexts, such as inside calculations, without needing to define a custom property first.
Having four keywords to fiddle with the cascade per-property, yet none that fully resets to UA defaults, leaves a real gap. A default keyword would give authors a powerful tool for restarting with fresh styles on a per-element basis—a pragmatic form of style isolation.



