Re: [csswg-drafts] [css-transforms-2] Preserve-3d + backface visibility semantics need to be clarified (#918)

Rather than specifying the 'pseudo stacking context' concept as discussed earlier, I'd like to suggest a different approach:

`backface-visibility: hidden` should create a regular stacking context, and become a containing block for `position:fixed` descendants, if it participates in a 3D rendering context.

For the majority of cases, this should be a no-op, as elements with `backface-visibility:hidden` are generally already transformed (and thus are a stacking context and containing block), or are not part of a 3d context (the property is frequently used a 'compositing' hint, unrelated to its original intent).

For the small number of cases where an untransformed element has `backface-visibility:hidden`, but is expecting to still be rotated by an ancestor with `preserve-3d`, this makes the behaviour much simpler and easy to explain.

There's still some complexity, in that the backface that is hidden is a plane containing the element and all descendants, with the exception of children that are participating in the 3d rendering context themselves. I think that's an existing problem with the spec though, that the concept of what exactly planes get formed is still undefined.

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


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Tuesday, 29 August 2023 03:24:28 UTC