Re: [CSS3] Flexible Flow Module, proposal.

2009/4/14 Andrew Fedoniouk <news@terrainformatica.com>:
> Philip TAYLOR (Ret'd) wrote:
>>
>>
>> Andrew Fedoniouk wrote:
>>
>>> '*' as a unit is used already in these places:
>>>
>>> 1) In html, so called multi-length or relative units:
>>> http://www.w3.org/TR/html401/types.html#type-length
>>> Used in tables[in supporting UAs] and framesets (@cols and @rows).
>>
>> Thank you, I confess I had overlooked that (in that
>> I was unaware of multilengths per se, although I had
>> seen the asterisk used in frameset specifications
>> -- and completely failed to understand it).
>>
>>> 2) In following CSS3 proposals:
>>> http://www.w3.org/TR/css3-grid/
>>> http://www.w3.org/TR/css3-layout/
>>
>> OK, but they are still /proposals/ : there is
>> still time to get "*" replaced by something
>> more mnemonic :-)
>>
> '*' can be used alone as a short form of  '1*'. For example if you want to
> put element in the bottom right corner of
> its container you can write:
>
> #middle
> {
>   margin: * 0 0 *;
> }
>
> Such short form will not work with mnemonics - will clash with #name
> production in CSS grammar.

If you introduce the FLEX token as {number}*, you cannot use * alone,
you get a DELIM instead of a FLEX.

> I mean that this:
> #middle
> {
>   margin: 1flex 0 0 1flex;
> }
> cannot be reduced to this:
> #middle
> {
>   margin: flex 0 0 flex;
> }
> without major changes in lex definitions.

The same changes (probably even less, a keyword is easier to parse
than a separator)

> And yes, these are proposals (above), but note - written by different
> authors. That means this idea/notation is somehow common.

Because Grid Positioning imitated HTML, Template Layout reused Grid
Positioning and you copied both

Giovanni

Received on Tuesday, 14 April 2009 19:50:48 UTC