Re: [csswg-drafts] [css-transforms-2] proposal new transform-style: detached (#4242)

> But, assuming we had multiple descendants without flattening ancestor under a root with transform-style: preserve-3d, how do we identify which of these should be rendered on detached surfaces?

Any 3D transform will cause a surface. Other transforms draw into the same plane as their parent.

For the same you gave, which I think is:

```
<html style="transform-style: preserve-3d">
  <div id=A style="transform-style: preserve-3d; transform: translateZ(10px)">
    <div id=B style="transform-style: preserve-3d; transform: translateZ(-10px)"></div>
  </div>
</div>
```

Then A would render 10px out, and B would render in a different surface that is (arithmetically) co-planar to the `<html>` element. It would not participate in the z-index style sorting within the `<html>` element's plane; instead z-buffering would apply. This means that B may not end up on top of `<html>` reliably. This issue of determining co-planarity was also discussed in the past also, and it was determined that it's computationally intractable to determine due to floating-point accuracy issues.

I don't think it is feasible to provide a way to "pop" back into an ancestor plane for descendant elements.




-- 
GitHub Notification of comment by chrishtr
Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/4242#issuecomment-551987659 using your GitHub account

Received on Friday, 8 November 2019 20:59:48 UTC