= CSS initial value
{c}
A <CSS initial value> is the value defined as a property's starting point by its specification. It participates in defaulting when an element has no other specified value under the applicable rules. It is distinct from a browser's default stylesheet declaration and from the value obtained by <CSS inheritance>.<CSS Cascading and Inheritance Level 5 by World Wide Web Consortium>[Defaulting, Initial Values and Inheritance]{ref}
For example, the initial value of `display` is inline, while a browser normally supplies styling that makes a paragraph block-level. Setting `p { display: initial; }` requests the property's initial value, rather than restoring the browser's usual paragraph appearance. The paragraph's <HTML element> semantics remain separate from that display choice.
The keyword `initial` explicitly requests this starting value. `inherit` requests the parent's computed value instead, and `unset` chooses inheritance for inherited properties and the initial value for non-inherited properties. Thus these keywords can produce different results even when they appear in the same selector and win the same <CSS cascade> comparison.<CSS Cascading and Inheritance Level 5 by World Wide Web Consortium>[Explicit Defaulting: initial, inherit and unset]{ref}
Initial values also need their normal processing. A width initially set to auto still requires the appropriate sizing algorithm; initial does not mean that every property begins as zero or already has a final pixel size. The sequence from defaulting through computation to the <CSS used value> explains how a specification-defined starting value becomes a concrete rendering.
Back to article page