- From: Ben Curtis <bcurtis@bivia.com>
- Date: Tue, 29 Mar 2005 15:36:09 -0800
- To: www-style@w3.org
> Summary for the people in a hurry: > A styling property called "background-standin-color" that will be used > to > define the background color until a 'potentially' multi- bit alpha > image > is loaded using background-image property. Then the background-color is > switched back to "transparent". I like your thought, although I dislike the idea of a new property. I suspect this can be done with the existing multi-background spec, with a little change to how it works: 1. background colors can be assigned to multiple layers like all other background properties 2. a background color does not display in a layer with a defined image value *unless* that image also displays -- no image, no color 3. the keyword "none" gets redefined to be specific to the background layer, and for the purpose of the above, counts as a loaded image 4. only the topmost color displays -- that is, transparent above a specified color does not allow the color to show through ....then I think you have it. h1 { background-image: none, url(foo.png); background-color: #fff, transparent; } ....would display a white background until foo.png successfully displays, when the background color becomes transparent. I think this technique is better than a new property, because it reduces some of the exceptions to the stacking rules for backgrounds, and connects successful loads to individual layers in the stacks. For example, you may need to define multiple fallback background colors, depending on *which* images fail to load (tough to come up with a use-case). Problems and rough edges: - "none" loses some of its magic -- does this interfere with canceling previous declarations higher in the cascade via background:none; ? What if we used an empty url()? - how should background-color values be repeated (suggestion: they do not repeat *or* they get padded with the topmost value since "transparent" would override all below it) - are multiple background-colors always below all background-images? Does this violate the mental model of the stack? Or, should color only display where background images do not, to prevent a color from occluding an image? How would this jibe with alpha transparency? -- Ben Curtis : webwright bivia : a personal web studio http://www.bivia.com
Received on Tuesday, 29 March 2005 23:56:18 UTC