The all
shorthand CSS property resets all of an element's properties except unicode-bidi
, direction
, and CSS Custom Properties. It can set properties to their initial or inherited values, or to the values specified in another cascade layer or stylesheet origin.
Constituent properties
This property is a shorthand for all CSS properties except for unicode-bidi
, direction
, and custom properties.
Syntax
/* Global values */ all: initial; all: inherit; all: unset; all: revert; all: revert-layer;
The all
property is specified as one of the CSS global keyword values. Note that none of these values affect the unicode-bidi
and direction
properties.
Values
initial
-
Specifies that all the element's properties should be changed to their initial values.
inherit
-
Specifies that all the element's properties should be changed to their inherited values.
unset
-
Specifies that all the element's properties should be changed to their inherited values if they inherit by default, or to their initial values if not.
revert
-
Specifies behavior that depends on the stylesheet origin to which the declaration belongs:
- If the rule belongs to the author origin, the
revert
value rolls back the cascade to the user level, so that the specified values are calculated as if no author-level rules were specified for the element. For purposes ofrevert
, the author origin includes the Override and Animation origins. - If the rule belongs to the user origin, the
revert
value rolls back the cascade to the user-agent level, so that the specified values are calculated as if no author-level or user-level rules were specified for the element. - If the rule belongs to the user-agent origin, the
revert
value acts likeunset
.
- If the rule belongs to the author origin, the
revert-layer
-
Specifies that all the element's properties should roll back the cascade to a previous cascade layer, if one exists. If no other cascade layer exists, the element's properties will roll back to the matching rule, if one exists, in the current layer or to a previous style origin.
Examples
In this example, the CSS file contains styling for the <blockquote>
element in addition to some styling for the parent <body>
element. Various outputs in the Results subsection demonstrate how the styling of the <blockquote>
element is affected when different values are applied to the all
property inside the blockquote
rule.
HTML
<blockquote id="quote"> Lorem ipsum dolor sit amet, consectetur adipiscing elit. </blockquote> Phasellus eget velit sagittis.
CSS
body { font-size: small; background-color: #f0f0f0; color: blue; margin: 0; padding: 0; } blockquote { background-color: skyblue; color: red; }
Results
A. No all
property
This is the scenario in which no all
property is set inside the blockquote
rule. The <blockquote>
element uses the browser's default styling which gives it a margin, together with a specific background and text color as specified in the stylesheet. It also behaves as a block element: the text that follows it is beneath it.
B. all: initial
With the all
property set to initial
in the blockquote
rule, the <blockquote>
element doesn't use the browser default styling anymore: it is an inline element now (initial value), its background-color
is transparent
(initial value), its font-size
is medium
, and its color
is black
(initial value).
C. all: inherit
In this case, the <blockquote>
element doesn't use the browser default styling. Instead, it inherits style values from its parent <body>
element: it is a block element now (inherited value), its background-color
is #F0F0F0
(inherited value), its font-size
is small
(inherited value), and its color
is blue
(inherited value).
D. all: unset
When the unset
value is applied to the all
property in the blockquote
rule, the <blockquote>
element doesn't use the browser default styling. Because background-color
is a non-inherited property and font-size
and color
are inherited properties, the <blockquote>
element is an inline element now (initial value), its background-color
is transparent
(initial value), but its font-size
is still small
(inherited value), and its color
is blue
(inherited value).
E. all: revert
When the all
property is set to revert
in the blockquote
rule, the blockquote
rule is considered to be non-existent and the styling property values are inherited from the ones applied to the parent element <body>
. So the <blockquote>
element gets styled as a block element, with background-color
#F0F0F0
, font-size
small
, and color
blue
- all values inherited from the body
rule.
F. all: revert-layer
There are no cascade layers defined in the CSS file, so the <blockquote>
element inherits its style from the matching body
rule. The <blockquote>
element here is styled as a block element, with background-color
#F0F0F0
, font-size
small
, and color
blue
- all values inherited from the body
rule. This scenario is an example of the case when all
set to revert-layer
behaves the same as when all
is set to revert
.
See also
CSS global keyword values: initial
, inherit
, unset
, revert
, revert-layer