Re: [css3-transforms] 3D transform updates

On Oct 27, 2014, at 3:36 PM, Robert O'Callahan <robert@ocallahan.org> wrote:

> Thanks for doing this! The spec is much improved.
> 
> Putting all non-3D content of a 3D rendering context at the very bottom of z-order seems simpler and more robust than putting it at z=0 as the spec currently says. Authors can usually opt into the z=0 effect by wrapping content in a trivial 3D transform.

Agreed, and this would address issue 3. It’s just unfortunate that it doesn’t match the behavior of z-index: -1, but I’m willing to live with that. We also need to consider how 3D transformed elements interact with 2D-transformed elements (which might have 3D-transformed descendants); in WebKit at least, a 2D-transforemd element with a 3D-transformed descendant gets popped into a texture, so would start interleaving.

> There is one case where they can't: as written, a preserve-3d child of the root element can be partially behind and partially in front of a 'position:fixed' element. Is that something we want to support --- or something we explicitly *don't* want to support?

You mean a 3D-transformed child of the root can intersect a position:fixed? I don’t see an issue with that offhand, but we should make sure that it’s possible to get the position:fixed to always be over everything else and not get intersected, with the right flattening.

> Do we know anything about how Web-compatible the spec changes are?

That’s really hard to say, since WebKit, Blink and Gecko have really different 3D rendering behavior already, and only WebKit seems to implement any kind of intersection. Your proposed change would make it more compatible, I think.

In WebKit, my intention is to only adopt the new behavior only for the non-prefixed uses of the transform property.

Simon

Received on Monday, 27 October 2014 23:28:46 UTC