Re: CSS1 Clarification

(Jonathan, I've Cc'ed this to www-style)

Jonathan Stark writes (in a private message to me, BB):
 > I'm a little bit confused by the cascading order, and was hoping
 > you could clarify.
 > 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

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 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

Follow-Ups: References: