Re: [CSS3] Some thoughts about functions, notation and gradient().

Brad Kemper wrote:
> 
> On Aug 18, 2009, at 11:28 PM, Andrew Fedoniouk wrote:
> 
>> background-color: linear-gradient(
>>                      start:0% 0%,
>>                      stop: 100% 100%,
>>                      color-stop: 0% white,
>>                      color-stop: 50% red ,
>>                      color-stop: 100% blue );
> 
> I think that is way too verbose.
> 
> 

But human readable and machine parse-able.

Proposed syntaxes I've seen so far in linear-gradient() are
not readable (that is subjective of course) and not
unambiguously parseable.

That use of '/' as a some kind of separator with absolutely non-clear
grammatic nature is very bad.

For example here:

p { font: x-large/110% "New Century Schoolbook", serif }

'/' is an operator combining two atomic values.
Operator precedence in grammar: slash, comma, space.

And here:

background: linear-gradient(top left to bottom left / yellow, blue);

'/' is an operator combining two lists. It assumes
operator precedence as: comma, space, slash.

That means in different contexts this operator has different precedence.
Which is extremely bad as for the human as for the machine.

I believe that having three operators aimed to glue list (space, comma
and the slash ) is just too much to be practically useful.

Side-note: the same conflict we observe in border-radius attribute now.
'/' there makes almost impossible to create context free parser for the CSS.


-- 
Andrew Fedoniouk.

http://terrainformatica.com

Received on Wednesday, 19 August 2009 16:19:52 UTC