- From: David Hyatt <hyatt@apple.com>
- Date: Thu, 13 Aug 2009 14:55:37 -0500
- To: "L. David Baron" <dbaron@dbaron.org>
- Cc: "www-style@w3.org" <www-style@w3.org>
I really like this syntax. dave On Aug 13, 2009, at 2:48 PM, L. David Baron wrote: > On Thursday 2009-08-13 20:08 +1200, Robert O'Callahan wrote: >> background: linear-gradient(top, white, bottom, #666); >> or even >> background: linear-gradient(top, bottom, from(white), to(#666); > > Another possibility here is to place the commas a little > differently: > background: linear-gradient(top white, bottom #666); > which would allow reintroducing multiple stops relatively simply: > background: linear-gradient(left red, 16% orange, 32% yellow, > 48% green, 60% blue, 76% indigo, > right violet); > under rules where the first and last stops would be specified > differently from the ones in the middle. I'm not sure if that > asymmetry makes things more or less confusing, though. > > In other words, the syntax could be something like this grammar > (ignoring whitespace): > gradient : <linear-gradient> | <radial-gradient> > linear-gradient: 'linear-gradient(' <linear-stop> ',' [ <mid-stop> > ',']* > <linear-stop> ')' > radial-gradient: 'radial-gradient(' <radial-stop> ',' [ <mid-stop> > ',']* > <radial-stop> ')' > linear-stop: <color> && <point> > radial-stop: <color> && <radius> <point> > mid-stop: <color> && <percent> > (In this, && is our new shorthand for both-values-required, but in > either order.) > > (I put the <radius> before the <point> for ease of parsing.) > > <mid-stop> could also optionally omit the percentage to imply that > it's halfway between the (syntactically) adjacent stops. > > -David > > -- > L. David Baron http://dbaron.org/ > Mozilla Corporation http://www.mozilla.com/ >
Received on Thursday, 13 August 2009 19:56:21 UTC