- From: fantasai <fantasai.lists@inkedblade.net>
- Date: Sun, 30 Oct 2011 22:25:16 -0700
- To: "www-style@w3.org" <www-style@w3.org>
Looking at the examples posted in http://wiki.csswg.org/ideas/radial-gradients#examples-shootout my main gripe about gradients is that they're unreadable. It is *not at all* obvious by looking at the gradient syntax what the various numbers and lengths mean. It seems to me this is largely due to the obsession with positional comma-separated syntax, so I'm proposing we step away from that and work on making which bits represent what concept a little more self-evident. So I propose for radial-gradient() is to use keywords to denote the various types of arguments, thus: radial-gradient(from center as red, orange, yellow) radial-gradient(from top left as red, orange, yellow) radial-gradient(circle from 25% 17% as red, orange, yellow) radial-gradient(3em 5em from 1em 2em as red, orange, yellow) Generically, the proposed syntax is: radial-gradient( <shape-info> from <position> as <color-stop> [, <color-stop>]+ ) For consistency, I suggest that linear gradients switch from 'from' to 'to' (which, quite frankly, works better with my brain, which interprets a fixed-length gradient 'to bottom' as being attached to the bottom side rather than being attached to the top side): linear-gradient( [ <angle> | from <side-or-corner> ] as <color-stop> [, <color-stop>]+ ) linear-gradient(from top as gray, transparent 4em) === And while I'm at it, I'm going to toss in the idea that linear-gradient(), like radial-gradient(), should be able to take an explicit size argument up front, because if I'm resizing a fixed-length gradient that has 15 color stops from 5em to 7em, I'd rather not change all the color stops. linear-gradient( <length>? [ <angle> | from <side-or-corner> ] as <color-stop> [, <color-stop>]+ ) /* photocopy edge effect */ linear-gradient(4em from top as 0% #00, 20% #4F, 27% #6F, 60% #E6, 67% #F0, 74% #F5, 100% #FF) ~fantasai
Received on Monday, 31 October 2011 05:25:47 UTC