W3C home > Mailing lists > Public > www-style@w3.org > July 2008

Re: Additional value for the visibility property

From: Andrew Fedoniouk <news@terrainformatica.com>
Date: Wed, 09 Jul 2008 13:53:12 -0700
Message-ID: <48752538.8090505@terrainformatica.com>
To: Andrew Fedoniouk <news@terrainformatica.com>, David Hyatt <hyatt@apple.com>, robert@ocallahan.org, "Ph. Wittenbergh" <jk7r-obt@asahi-net.or.jp>, W3C Style List <www-style@w3.org>

L. David Baron wrote:
> On Wednesday 2008-07-09 12:25 -0700, Andrew Fedoniouk wrote:
>   
>> It would be quite surprising if applying of opacity will change the  
>> whole z-index hierarchy.
>>     
>
> Applying 'opacity' *has* to change the whole z-index hierarchy, as I
> explained in
> http://lists.w3.org/Archives/Public/www-style/2008May/0145.html (see
> points (1) and (2)).  (And see also the revised text in
> http://dev.w3.org/csswg/css3-color/ .)
>   
I do not understand that *has* of yours? You can preserve stacking order 
if you want to.
That is just a matter of update of the spec at opacity part. You just 
need to change spec from:
"Conceptually, after the element (including its descendants) is rendered 
into an RGBA ..."
to:
"Conceptually, after the element (including its in-flow descendants) is 
rendered into an RGBA ..."

And that is it. From implementation point of view that is easier than 
anything else and will not
require to change any existing designs willing to apply opacity.

<citation 
src="http://lists.w3.org/Archives/Public/www-style/2008May/0145.html">

Issue 1: Elements with opacity always create a new stacking context.

This is the non-controversial issue (all three implementations
match).  This means that any z-ordering that occurs inside the
element stays within it, and does not leak out.  This is required,
conceptually, since everything inside the element has to be
composited against its background, atomically.

</citation>

That is not so at least for Opera 9.5. Please load
http://terrainformatica.com/w3/opacity-probe.htm
Note that div.kid is rendered on top of div.stranger. By moving mouse
you can verify (in Opera) that  elements with opacity do not establish 
artificial stacking
contexts there.

In fact it should be rendered as this:
http://terrainformatica.com/w3/opacity-probe-rendering.png
as opacity is not inherited by default (so div.kid is not transparent).

-- 
Andrew Fedoniouk.

http://terrainformatica.com
Received on Wednesday, 9 July 2008 20:54:00 GMT

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