- From: Andrew Fedoniouk <news@terrainformatica.com>
- Date: Fri, 14 Aug 2009 14:44:20 -0700
- To: Brad Kemper <brad.kemper@gmail.com>
- CC: "Tab Atkins Jr." <jackalmage@gmail.com>, www-style list <www-style@w3.org>
Brad Kemper wrote:
>
> On Aug 14, 2009, at 6:38 AM, "Tab Atkins Jr." <jackalmage@gmail.com>
> wrote:
>
>> On Thu, Aug 13, 2009 at 10:59 PM, Andrew
>> Fedoniouk<news@terrainformatica.com> wrote:
>>> Drawing in CSS uses two layers for background drawing: color layer
>>> and image layer on top of it. So is my question.
>>
>> The layers are irrelevant. Conceptually and realistically colors are
>> substantially different from images. You have no control over colors
>> beyond just specifying them - they fill whatever you're doing. A
>> gradient is an image.
>
> We did earier discuss the idea of using gradients as a type of color,
> so it could be used anywhere color values are used. But we decided
> against, because there were just too many places where it wouldn't work.
>
I see no problems with having (yet another) function that define color.
Now we have rgb(...) and I see no problems with having linear-gradient()
as such a color.
Rules are simple:
1) if color function by its nature defines more than one color then it
is applicable only if it defines color of background of some *box* (e.g.
element background, one of element borders, etc.).
2) each such a color function should have 'default' atomic color value:
e.g. start of gradient.
3) if color function is applied to the property that designates color of
the stroke, e.g. [text-]color then used value is that default value of
the function.
Having this we can define things like:
background-color: linear-gradient(...);
border-left-color: linear-gradient( top bottom, ... );
border-right-color: linear-gradient( top bottom, ... );
border-right-color: linear-gradient( top bottom, ... );
column-rule-color: linear-gradient( top bottom, ... );
etc.
So color property accepts color function that defines distribution of
colors in some box.
Therefore single color value like #FFAFFF is just color function named
solid-color(#FFAFFF).
And reading Tab's proposal it is not clear how to redefine solid color
for some element.
div { background: linear-gradient(...); }
div.solid { ??? what should be here to remove gradient ??? }
--
Andrew Fedoniouk.
http://terrainfromatica.com
Received on Friday, 14 August 2009 21:45:03 UTC