Jonathan Stark writes (in a private message to me, BB):
>
> If 2 desciptions have the exact same specificity, such as
>
> LI {font: 14pt/16pt helvetica bold}
> /* a=0 b=0 c=1 -> specificity = 1 */
> LI { font-size: 12pt}
> /* a=0 b=0 c=1 -> specificity = 1 */
>
> The specification says
> 5.Resolve conflicts between properties: more specific properties
> (e.g. 'font-size') will override compound properties (e.g. 'font').
>
> Does that mean that the proper thing to do is _only_ set the
> font-size to 12pt, or would the proper thing to do be to
> set the font size to the equivelent of font: 12pt/16pt helvetica bold ?
Good point. The intention is that `font-size' only overrides the font
size. The rest (16pt, helvetica, bold, normal) is not affected.
But we're actually thinking of changing (simplifying?) it:
A situation like this is probably rare and it is possible to interpret
`font' slightly differently, so that cascading rule #5 is not needed
anymore. Rule #6 (`later rule overrides earlier one') would be used
instead.
How about this: view "font:a/b c d e" as a *macro* (rather than a
shorthand) for
font-size: a
line-height: b
font-family: c
font-weight: d
font-style: e
The cascading rules would then be applied *after* the `macro' has been
expanded. (The word `expanded' is just a way of explaining the
meaning, it doesn't say that an implementation should actually do
macro expansion.)
What do people think?
Bert
-- Bert Bos ( W 3 C ) http://www.w3.org/ bert@w3.org INRIA project RODEO/W3C http://www.w3.org/pub/WWW/People/Bos/ 2004 Rt des Lucioles / BP 93 +33 93 65 77 71 06902 Sophia Antipolis Cedex, France