- From: Andrew Fedoniouk <news@terrainformatica.com>
- Date: Wed, 09 Jul 2008 13:53:12 -0700
- 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 UTC