What happens by CSS 2.1 rules on error handling as well as in practice is that the declaration display: initial
is ignored, without affecting the rest of the style sheet. The display
property thus gets its value from other rules. In the absence of any setting on it in any style sheet (including browser default style sheet), the initial value inline
is used.
The “fallback” code in the edit of your question means that the value of display
would be inline
in browsers that support the value inline
, and block
in other browsers. This does not sound safe.
The value initial
does not mean “the previous value set in a style sheet” or anything like that, as the question seems to postulate. Instead, it means the value that is designated as the property’s initial value in CSS specifications. For display
, this is inline
.