W3C home > Mailing lists > Public > www-style@w3.org > June 2011

Re: [css3-images] linear-gradient keywords and angles are opposite

From: Brad Kemper <brad.kemper@gmail.com>
Date: Thu, 9 Jun 2011 22:45:11 -0700
Cc: "Eric A. Meyer" <eric@meyerweb.com>, "www-style@w3.org" <www-style@w3.org>
Message-Id: <BE945C4A-E8C3-48D6-8D23-E3046F592ADA@gmail.com>
To: Rik Cabanier <cabanier@gmail.com>
If you are using interactive tools, you don't really care what code gets written into the file, as long as it works. But Illustrator, PhotoShop, InDesign, and many others also allow you to type a value. And that value is always a degree. Rather than rehashing all my arguments from last year (when the editor's draft included full background-position-like syntax, please see my essay on the subject here:

http://bradclicks.com/cssplay/linear-gradient/index.html

It includes all the examples I could find of software that lets you set a gradient direction by typing text into a field.

The thread is really proof that keywords can be confusing if they are not clear. But mixing in vectors would, IMO, result in values that are much harder to visualize, and result in near-infinite ways of writing many types of linear gradients for the same visual results (which makes learning/understanding by reading examples harder). And I really believe it really is unnecessary for common use, almost always. If you just want it for increasing clarity, it will often have the opposite effect, and there are better ways. If you want the extra power for very uncommon edge cases that can't be done using current syntax, there is still SVG.

The document I link to above also includes my earlier proposal that would give you more power than the current syntax, but I agree now that even that extra power is unlikely to be needed much at all. 


On Jun 9, 2011, at 10:12 PM, Rik Cabanier wrote:

> Brad,
> 
> I disagree that the vector syntax is more complex than the current one.
> This whole email thread is proof that the spec is not that easy (and it is not the first time that this has been mentioned). Maybe it's easier for the simple cases, but it quickly digressses when you try to do something more complex or when you explore edge cases.
> 
> I also disagree that angles are how gradients are drawn in design software. In all Adobe software, gradients are defined with the gradient tool. (Mousedown = start of vector, MouseUp = end of vector)
> Recent versions of Illustrator even show the vector when you select the gradient and let you modify its control points. Illustrator lets you change the angle but that is not how people draw in general.
> 
> The underlying drawing models as well as PDF and PostScript also define axial and radial gradients on a vector.
> 
> The fact that you can draw stars with the current syntax is not relevant (and could be done with the vector syntax too...)
> 
> Rik
> 
> On Thu, Jun 9, 2011 at 9:37 PM, Brad Kemper <brad.kemper@gmail.com> wrote:
> 
> 
> 
> On Jun 9, 2011, at 9:06 PM, Rik Cabanier <cabanier@gmail.com> wrote:
> 
> > I completely agree.
> > I made a similar proposal last December but was told the spec was too far along.
> 
> That wasn't the only reason. But it had been debated a lot before that.
> 
> > A vector is much easier to define which probably why it is used in most design software.
> 
> All the design software I have ever seen that lets you specify direction by typing in text, does so via angles. Angles are simpler and easier for humans to read and immediately suss the direction (you just have to know where zero is, and which was the degrees progress around a reference circle).
> 
> The extra power of being able to start or stop the gradient at arbitrary points is already present to a huge degree with the color stops. The cases where that isn't quite enough are few and far between, and still doable via SVG. I'm all for simplicity to serve the vast need,s and not adding extra syntax that adds very little extra expressiveness for a few rare edge cases.
> 
> If you look at some of those examples that Tab posted a while back, with stars and plaids and such being created via gradients, I'm extra happy that Tab kept the syntax limited. It gets hard enough to read once there are multiple backgrounds, each with multiple color stops and precisely placed color stop locations. Layering bg-position syntax within that, while there might also be actual background position for the tiling of the gradients, and you end up with a mire of numbers that are slow to comprehend. I'd liken it to multiplying GPS coordinates together to try to imagine where something is in the world.
> 
> 
> 
Received on Friday, 10 June 2011 05:45:53 GMT

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