Re: Specified values: what are they?

On 5 Sep 2002, Etan Wexler wrote:
> Ian Hickson:
> > In CSS3, 'initial' will be a special keyword like 'inherit'. [...]
> > Neither can end up as the specified value [...]
> What is the specified value in the declaration "property: initial"?

It depends on the property.

The specified value is the result of applying the cascade.

At least in CSS2. The CSS3 drafts are a little confused at the moment.
Some of the drafts change the terminology to have 'cascaded value' be what
CSS2 calls the 'specified value', and 'specified value' be the literal
value of the winning declaration (and thus what you would change through
manipulating the OM of the stylesheet).

> Perhaps we need an explicit step between specified values and computed
> values, a step that will, for instance, replace 'inherit' with a
> possibly relative value, assign possibly relative values from a
> shorthand declaration to its longhand properties, and assign possibly
> relative values to undeclared properties.

(There is no such thing as an "undeclared property", since all properties
have initial values.)

Yes, I think maybe there is value in solidifying CSS3's terminology so
that we have:

   Specified Value (the literal value of the winning declaration, if any)

   Cascaded Value (the result of the cascade, after handling any
   inheritance, initial values, and attr() forms -- defined for all
   properties and all elements and pseudo-elements)

   Computed Value (the value used by the rendering engine and for
   inheritance into children)

   Actual Value (the value that was actually used, after taking
   limitations of the rendering device into account)

Are there any other levels I have forgotten?

Ian Hickson                                      )\._.,--....,'``.    fL
"meow"                                          /,   _.. \   _\  ;`._ ,.                         `._.-(,_..'--(,_..'`-.;.'

Received on Thursday, 5 September 2002 23:42:02 UTC