Re: Interaction between opacity and transform-style

On Mar 15, 2012, at 9:30 AM, Aryeh Gregor wrote:

> On Wed, Mar 14, 2012 at 8:22 PM, Robert O'Callahan <robert@ocallahan.org> wrote:
>> Why is that surprising? opacity has always affected Z-ordering in CSS.
> 
> Well, it creates a new stacking context, so anything outside can't get
> between anything inside.  That's not too surprising if you think about
> it  The behavior I found surprising here was that it changed the order
> of rendering among the translucent element's children, and between the
> translucent element and its sibling.
> 
> But since you point it out, it makes sense that there has to be a
> separate 3D rendering context in this case.  Otherwise you could get
> something from outside in between two of the translucent boxes, which
> doesn't make sense if they have group opacity.
> 
> So maybe an opacity other than 1 should cause an element with
> transform-style: preserve-3d to create a new 3D rendering context
> instead of extending the current one.  This is *not* the same as
> transform-style: flat, which creates no 3D rendering context at all
> per spec (although Safari seems to behave differently).

Can you explain the difference more clearly? As currently written,
the spec has no way to allow a child to be in a different 3D
rendering context than its parent, if both have transform-style: preserve-3d.
You're suggesting that this should be possible somehow, for this
opacity case. I'm not sure how that would work.

Also, what are the Safari differences that you mention?

Simon

Received on Thursday, 15 March 2012 17:01:32 UTC