W3C home > Mailing lists > Public > www-style@w3.org > February 2010

Re: [CSS3] @font vs @background

From: Andrew Fedoniouk <news@terrainformatica.com>
Date: Tue, 09 Feb 2010 09:19:05 -0800
Message-ID: <4B719909.1000704@terrainformatica.com>
To: "L. David Baron" <dbaron@dbaron.org>
CC: www-style <www-style@w3.org>
L. David Baron wrote:
> On Saturday 2010-02-06 23:02 -0800, Andrew Fedoniouk wrote:
>> Grammar of all properties in CSS 2.1. obey this simple set of rules:
>>
...
> 
> So I don't think you can determine a clear operator precedence order
> from CSS 2.1, other than perhaps (based on 'font-family' and
> 'voice-family') that comma-separated things contain space-separated
> things (the opposite of what you describe, but I think quite
> logical).
> 
> I think if anything it's the 'font' shorthand that's got the broken
> syntax, but that's been broken (internally contradictory precedence)
> since CSS1.  I think it's also the one that's confusing for authors:
> it recently took me quite a while to spot the mistake in:
>   font: 1em normal normal Arial, serif;
> (Note: most people don't have a font called 'normal normal Arial'.)
> 
> I think the general rule that:
>   a b, c d
> represents groups like this:
>   (a b) (c d)
> rather than like this:
>   a (b c) d
> makes sense, and we should stick to it, leaving 'font' as an
> exception.
> 
> -David
> 

David, thanks for the detailed analysis.

If to forget about the font for a while can we assume that CSS3 property
value grammar looks or will look like this?:

  <VALUE_COMMA_LIST>
      : <VALUE_SPACE_LIST>
      | <VALUE_COMMA_LIST> "," <VALUE_SPACE_LIST>

  <VALUE_SPACE_LIST>
      : <VALUE_OR_PAIR>
      | <VALUE_SPACE_LIST> S+ <VALUE_OR_PAIR>

  <VALUE_OR_PAIR>
      : <VALUE>
      | <VALUE> "/" <VALUE>

  <VALUE>
          : NUMBER S*
          | PERCENTAGE S*
          | LENGTH S*
          | EMS S*
          | EXS S*
          | ANGLE S*
          | TIME S*
          | STRING S*
          | IDENT S* | URI S* | hexcolor | function

  <PROPERTY-DECL>
          : <NAME> ':' <VALUE_COMMA_LIST> ';'
          | <NAME> ':' <VALUE_COMMA_LIST> <IMPORTANT> ';'

I saw attempts to introduce '(' ')' brackets but it appears they are
gone now?


-- 
Andrew Fedoniouk.

http://terrainformatica.com
Received on Tuesday, 9 February 2010 17:19:36 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 17:20:24 GMT