Re: Additional value for the visibility property

Robert O'Callahan wrote:
> On Wed, Jul 9, 2008 at 3:27 PM, Andrew Fedoniouk 
> <news@terrainformatica.com <mailto:news@terrainformatica.com>> wrote:
>
>     That is what I would like to clarify - how exactly it should be
>     rendered.
>
>
> I think it's clear that according to the spec it should be rendered 
> the way Gecko and Webkit render it.
>
> If you're suggesting that the spec should be changed --- this has been 
> specified and interoperably implemented in Gecko and Webkit for years, 
> so I think you'd need a pretty strong argument. Personally it feels 
> unnatural to me to render an element and its descendants as a single 
> composition group but carve out an exception for descendants that 
> happen to be out-of-flow. (Although I'm not actually sure what you're 
> proposing, since there might be descendants which are out-of-flow but 
> still have the element as their containing block ancestor.)
Opacity is an attribute of some layer. Element and its in-flow 
descendants is a layer. absolute positioned elements
establish their own layers.

It appears that Opera:
1) draws element and only in-flow children on the offscreen buffer (layer)
2) each absolute positioned element - descendant of transparent parent - 
inherits value of opacity and draws
itself on separate offscreen buffer (layer).
3) these buffers are blended separately with respect of z-order.

That appear as the only correct way of doing this.

FF and WebKit share the same error. Take a look on these samples:

http://terrainformatica.com/w3/opacity.htm
http://terrainformatica.com/w3/no-opacity.htm

These two files are the same except of transparency.
Note that FF and WebKit simply ignore value of z-index when opacity is 
applied.

That is what I would like to clarify. Opacity of what?
>
> Also note that if the author really wants an out-of-flow element to be 
> composited seperately they can usually move it in the document outside 
> of the container with 'opacity' and give it its own 'opacity' to 
> achieve that.
In this case we shall define something like "rendering is undefined" for 
the case when transparent element has not in-flow children.

-- 
Andrew Fedoniouk.

http://terrainformatica.com

Received on Wednesday, 9 July 2008 18:27:34 UTC