CSS Textures (Was: Colour gradient backgrounds.)

Richard York wrote:
> gradient([[<color>{1,}] <effect>])
> 
> Whereas grandient would be a color type itself and be a value of any 
> property taking a color value.
> 
> color: gradient(black white ltr);
> 
> A little OT, but in the same neighborhood.. this would be a cool 
> possibility too:
> color: url(picture.jpg);

*snip*

> I don't quite see the argument for gradients not belonging in CSS, you 
> could argue the same thing about opacity, just use PNG instead. I think 
> gradients open up design possibilities, and I thought that's what CSS 
> was all about! Personally I like any idea that eliminates all the fuss 
> of dealing with images.

One (wild) idea is to introduce a texture concept into CSS. Currently 
CSS deals with colors and backgrounds. Images are always a special case.

If a texture concept was introduced it might make things more simple in 
the end. A texture could basically be anything, and the whole 
color/gradient/image/tiled-image deal could be wrapped up in the texture.

Then we'd end up with a two-stage process:

1. Define textures.
2. Apply testures to backgrounds, borders, text etc.


This would be rather different from the current implementation, but it 
would allow for great flexibility. A UA could basically render a texture 
to an internal bit map, and then apply it to the target surface.

An additional benefit would be the potential for hardware acceleration, 
although this is just a side effect.


With textures there would be less to keep beefing up the background and 
border properties, as most additions could be done to the textures 
themselves.


How do other people feel about this idea? I realize it's radically 
different from the current implementation, which means backwards 
compatibility is a major issue. Then again XHTML 2 won't be backwards 
compatible as far as I've understood, so that's maybe something to target?


-- 
Max Romantschuk
http://max.nma.fi/

Received on Tuesday, 11 May 2004 02:21:45 UTC