6.1.1 Specified values
User agents must first assign a specified value to each property based on the
following mechanisms (in order of precedence):
1. If the cascade [p. 94] results in a value, use it.
2. Otherwise, if the property is inherited [p. 92] and the element is not the root of
the document tree, use the computed value of the parent element.
3. Otherwise use the property’s initial value. The initial value of each property is
indicated in the property’s definition.
6.1.2 Computed values
Specified values are resolved to computed values during the cascade; for example
URIs are made absolute and ’em’ and ’ex’ units are computed to pixel or absolute
lengths. Computing a value never requires the user agent to render the document.
The computed value of URIs that the UA cannot resolve to absolute URIs is the
When the specified value is not ’inherit’, the computed value of a property is
determined as specified by the Computed Value line in the definition of the property.
See the section on inheritance [p. 92] for the definition of computed values when the
specified value is ’inherit’.
The computed value exists even when the property doesn’t apply, as defined by
the ’Applies To’ [p. 25] line. However, some properties may define the computed
value of a property for an element to depend on whether the property applies to that
6.1.3 Used values
Computed values are processed as far as possible without formatting the document.
Some values, however, can only be determined when the document is being laid
out. For example, if the width of an element is set to be a certain percentage of its
containing block, the width cannot be determined until the width of the containing
block has been determined. The used value is the result of taking the computed
value and resolving any remaining dependencies into an absolute value.
6.1.4 Actual values
A used value is in principle the value used for rendering, but a user agent may not
be able to make use of the value in a given environment. For example, a user agent
may only be able to render borders with integer pixel widths and may therefore have
to approximate the computed width, or the user agent may be forced to use only
black and white shades instead of full colour. The actual value is the used value after
any approximations have been applied.