- From: Brad Kemper <brad.kemper@gmail.com>
- Date: Fri, 14 Aug 2009 18:16:52 -0700
- To: "Tab Atkins Jr." <jackalmage@gmail.com>
- Cc: fantasai <fantasai.lists@inkedblade.net>, "www-style@w3.org" <www-style@w3.org>
- Message-Id: <3F7AF01F-9E88-4B8D-8393-DEAE97F6EEF1@gmail.com>
Sent from my sef-aware iPhone
On Aug 14, 2009, at 4:35 PM, "Tab Atkins Jr." <jackalmage@gmail.com>
wrote:
> On Fri, Aug 14, 2009 at 6:24 PM, Brad Kemper<brad.kemper@gmail.com>
> wrote:
>>>> If I wanted to start say, 30% from the top, and end at the
>>>> bottom, I
>>>> would
>>>> write that as "linear-gradient(top, green 30%, blue 20%, navy)".
>>>> Or if I
>>>> wanted to be a few degrees off from straight down, I would do
>>>> "linear-gradient(-87deg, green 30%, blue 20%, navy)". I think
>>>> these are
>>>> both
>>>> much cleaner, and provide all that an author will really need.
>>>
>>> All right, changed my mind. That looks confusing as *hell*. It
>>> looks
>>> like you meant to write "blue 20%, green 30%, navy" but swapped them
>>> for some reason.
>>
>> What? Why? Wasn't green her first color? Wasn't it supposed to
>> start 30%
>> from the top?
>
> Depends. As written, it seems like you intend the gradient to go
> blue-green-black, but just wrote the colors out of order.
I don't know why you would think that. Look, here is what fanasai wrote:
linear-gradient(
10px 30% to
100% 4%,
green,
blue 20%,
navy
);
>
I take that to mean: starting at a point 10px to the right and 30%
from the box top, begin the gradaition with green. Then 20% between
that point and the ending color, it should be blue. Then the gradation
ends with navy at 100% from left and 4% from the top (which may be
higher or lower than the green, depending on box size).
I find that confusing and much more exact than what anyone will need
for the starting and ending points. In fact, I got confused into
thinking the 100% was vertical. So it is mostly left-right, not up-
down, though I couldn't tell you what angle, so I don't know why I'd
need to have start and end points like that. Anyway...
Here is what I had as a first alternative (which I realize is not
exactly the same, but a more likely use case and easier for me to
conceptualize and write or edit). Just suppose I am trying to come
close to 4% 100% at the end instead of 100% 4%:
linear-gradient(
top,
green 30%,
blue 20%,
navy
)
So this would mean: starting at a point 30% from the box top, begin
the gradaition with green. Then 20% down from the box top, it should
be blue. Then the gradation ends with navy at 100% from the top.
But since fantasai's example had a slight angle to it, and since I
would as an author probably know how about how much I'd want that
angle to be, I gave a second alternative using angle:
linear-gradient(
-87deg,
green 30%,
blue 20%,
navy
)
This means: starting at a point 30% from the box top-left and going
down and slightly to the right, begin the gradation with green at 30%
of the way from that corner along that angle (towards where it would
need to go at that angle to fill the opposite corner). Then 20% down
from the box top-left, it should be blue. Then the gradation ends with
navy at the end of that angled path (a line of navy that intersects
the lower right corner).
> Did you
> intend to write "blue 50%"?
OK. I see. 30% + 20% would be closer to where her blue is. Sure. Me
math-adverse sometimes.
> Or did you really mean for blue to be 20%
> between green and black (that is, 44% down from the top)?
Assuming you mean "between green and navy", since black was never
mentioned. No, that's not what I meant. I prefer not to swich which
length things are a percentage of.
>
>>> I don't like it at all.
>>
>> Mine was simpler.
>
> Heh, possibly. Possibly not. If a % means different things based on
> whether it's used in a terminal color-stop or a middle color-stop,
> then it's much more confusing.
Yeah, put that idea out of your mind.
Received on Saturday, 15 August 2009 01:17:53 UTC