W3C home > Mailing lists > Public > public-css-archive@w3.org > November 2019

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

From: Chris Harrelson via GitHub <sysbot+gh@w3.org>
Date: Fri, 08 Nov 2019 20:59:46 +0000
To: public-css-archive@w3.org
Message-ID: <issue_comment.created-551987659-1573246785-sysbot+gh@w3.org>
> 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

This archive was generated by hypermail 2.4.0 : Tuesday, 5 July 2022 06:41:56 UTC