W3C home > Mailing lists > Public > www-style@w3.org > January 2006

Re: Regarding Comma Separation

From: Andrew Fedoniouk <news@terrainformatica.com>
Date: Thu, 19 Jan 2006 19:55:49 -0800
Message-ID: <000d01c61d75$66a61f60$3201a8c0@Terra>
To: "L. David Baron" <dbaron@dbaron.org>, <www-style@w3.org>

Thanks,  David, but see my comments below.

----- Original Message ----- 
From: "L. David Baron" <dbaron@dbaron.org>

>On Thursday 2006-01-19 17:33 -0800, Andrew Fedoniouk wrote:
>>
>> ----- Original Message ----- 
>> From: "L. David Baron" <dbaron@dbaron.org>
>>
>> >  http://dbaron.org/css/css-vg/
>> >(see section 2, Gradients and Patterns).
>>
>> David, is this
>>
>> @fill logoback {
>>   gradient: 90deg red blue;
>> }
>>
>> #logo {
>>   background-color: fill(logoback);
>> }
>>
>> in principle better than function style defintion like:
>>
>>   background-draw-method:
>>          gradient-fill(  angle: 90deg, color1: red, color2: blue );
>>
>> ? If yes than why in your opinion?
>
>It has at least the following advantages:
> * it is reusable across all drawing operations, not just backgrounds,
>   without an explosion of new properties

Good one. But what kind of operations assumed other than
background? Probably borders and foreground images?
I have some doubts though about value of such e.g. gradient methods
for borders. Borders require their own set of methods/functions.

> * it is reusable across multiple CSS rules

True, but the same result could be achived with multiple
class declarations for elements or trivial inheritance.

.logo { gradient-fill(  angle: 90deg, color1: red, color2: blue ); }

<h2 class="logo and-something-else">...

> * it allows multiple layers (which is what started this discussion in
>   the first place)

a) I cannot see how function style will prevent such implementation.

b) If multiple layers needed at all...  so far all examples are related to
emulation of complex border drawing. I beleive it is better to provide

background-draw-method:
         expandable-fill(  image: url(...), margin-left: 4, margin-right: 3, 
... );

as a single function than multiple layers with multiple unknowns.

c) The only layer I would add is foreground.

img { foreground-draw-method: stretch(  image: url(...) ); }

This by the way will finally allow to define html <IMG> rendering
by CSS rules.

> * it allows fallback if required images fail to load
>

Function notation allow you to do this too:

background-draw-method:
         expandable-fill(  image: url(...), margin-left: 4, margin-right: 3, 
... ),
         gradient-fill(  angle: 90deg, color1: red, color2: blue ),
         solid-fill( color: red );

and finaly fallback to

background-color: red;

For me

@fill logoback { gradient: 90deg red blue; } / fill( logoback )

seems like an inderect form of function call notation.
Little bit unusal and redundant I would say.
And it requires use of names ("logoback") with all
possible implications like name collisions, etc.


Andrew Fedoniouk.
http://terrainformatica.com
Received on Friday, 20 January 2006 03:55:56 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 27 April 2009 13:54:42 GMT