- From: Tab Atkins Jr. <jackalmage@gmail.com>
- Date: Wed, 8 Sep 2010 11:20:49 -0700
- To: David Singer <singer@apple.com>
- Cc: fantasai <fantasai.lists@inkedblade.net>, Simon Fraser <smfr@me.com>, www-style list <www-style@w3.org>
On Wed, Sep 8, 2010 at 9:59 AM, David Singer <singer@apple.com> wrote:
> On Sep 7, 2010, at 20:49 , Tab Atkins Jr. wrote:
>>> the first argument is one of the possibilities: b-t, t-b, l-r, r-l, bl-tr,
>>> tl-br, tr-bl, br-tl
>>> the second is an angle relative to that base vector
>>> the two combined give a computed gradient vector, and after that,
>>> everything falls out.
>>
>> Relative angles are actually a substantially different thing than the
>> current angles I use. It's impossible to use relative angles to just
>> say "give me a gradient at 45deg".
>
> I think that that is 45 degrees relative to the l-r line (i.e. x axis).
Ah, yeah, I wasn't thinking thoroughly enough. Sure, a relative angle
from either a horizontal or vertical line would let you make an
absolute angle. I think this level of indirection is somewhat
unfortunate, though - you first have to think about which reference
line to establish, and then you have to consider what angle you want
to measure off of it.
>> I think that in general relative
>> angles aren't very useful. (Personally, I think absolute angles
>> aren't too useful either, but I trust Brad when he says they are for
>> him.)
>>
>>> Transitions are then defined as interpolating between the computed gradient
>>> vectors, of course.
>>>
>>> Now we only need one syntax and we can interpolate, and so on.
>>>
>>> linear-gradient( base-direction, relative-angle, from-color, to-color,
>>> {stop%, stop-color}* ) where from-color is defined as from 0% and to-color
>>> is defined as to 100%.
>>
>> While this does let us unify, I think it loses too much useful
>> abilities that the current syntax offers.
>
>
> what do I lose? I think I lose the webkit cases where the start and end points are specifically given, which means that portions of the gradient <0 and >1.0 can be visible, but nothing from your proposal. (And the most complex here gives features yours does not have).
Actually, my proposal allows for portions of the gradient outside
[0,1] to be shown. Right now there's no way to *explicitly* give an
end-point, but the implied end-point won't be on an edge unless the
starting-point is, and I've been meaning to add an explicit end-point
argument for some time. (I have an email where I said I would from
way back in the day. I don't know why I didn't make the edit some
time ago. Right now I'm just waiting for the other feedback to
stabilize so I can make all the edits in one go.)
~TJ
Received on Wednesday, 8 September 2010 18:21:42 UTC