Re: [css-transforms] rendering 3D-transformed sibling elements without preserve-3d

On Thu, Mar 12, 2015 at 5:48 AM, Simon Fraser <smfr@me.com> wrote:

>
> On Mar 10, 2015, at 9:27 pm, Robert O'Callahan <robert@ocallahan.org>
> wrote:
>
> Consider example 7 here:
> http://dev.w3.org/csswg/css-transforms/#3d-rendering-contexts
>
> AFAICT this doesn't match what Chrome and Firefox do (can't test IE). In
> those browsers, sibling elements can't intersect each other unless
> preserve-3d is involved somehow. In those browsers, in the absence of
> preserve-3d, 3D-transformed children are transformed, projected and
> composited in regular CSS order. I suspect that changing that will create
> major Web compat issues.
>
> Or am I misunderstanding something?
>
>
> Indeed this is a behavior change from my spec re-write which was done to
> more rigorously define what preserve-3d means, which altered the meaning
> from “start doing depth-sorting and intersection” to “make the children
> live in the same 3d space as the current element”, and those don’t mean the
> same thing.
>
> I’m not sure how to resolve these two competing uses of preserve-3d. Both
> have shipped, but I suspect that most content is authored to the
> WebKit/Blink behavior, which is the "make the children live in the same 3d
> space as the current element” behavior, and I can find tutorials that
> describe this behavior, but not that describe the  “start doing
> depth-sorting and intersection” behavior.
>

I'm worried about pages where there are sibling elements using 3D
transforms for perspective effects, but normal CSS painting order is
assumed. I believe that's what Webkit, Blink and Gecko all do in the
absence of preserve-3d. (Am I wrong?) I admit I don't have any examples of
such pages at hand, but does that not worry you?

If the spec stays as-is, with non-3D content rendered at z=0, then I think
we'll have even more problems with 3D-transformed elements unexpectedly
falling partially or wholly behind the background of their container.

Rob
-- 
oIo otoeololo oyooouo otohoaoto oaonoyooonoeo owohooo oioso oaonogoroyo
owoiotoho oao oboroootohoeoro oooro osoiosotoeoro owoiololo oboeo
osouobojoeocoto otooo ojouodogomoeonoto.o oAogoaoiono,o oaonoyooonoeo
owohooo
osoaoyoso otooo oao oboroootohoeoro oooro osoiosotoeoro,o o‘oRoaocoao,o’o
oioso
oaonosowoeoroaoboloeo otooo otohoeo ocooouoroto.o oAonodo oaonoyooonoeo
owohooo
osoaoyoso,o o‘oYooouo ofooooolo!o’o owoiololo oboeo oiono odoaonogoeoro
ooofo
otohoeo ofoioroeo ooofo ohoeololo.

Received on Thursday, 12 March 2015 00:22:07 UTC