Closed Bug 719092 Opened 12 years ago Closed 12 years ago

transform: scaleZ(0) makes everything vanish

Categories

(Core :: Layout, defect)

x86
Linux
defect
Not set
minor

Tracking

()

RESOLVED WONTFIX

People

(Reporter: ayg, Unassigned)

Details

Test-case:

data:text/html,<!doctype html>
<div style="background:blue;height:50px;width:100px;
-moz-transform: scaleZ(0)"></div>
<script>
var rect = document.querySelector("div").getBoundingClientRect(); document.body.appendChild(document.createTextNode(
rect.top + " " + rect.right + " " + rect.bottom + " " + rect.left));
</script>

In Firefox 12.0a1 (2012-01-17), this outputs "-35791396 0 0 -35791396" and there's no visible box.  In Chrome 17 dev, adjusted for prefixing, it outputs "8 108 58 8" and the box appears just as though there were no transform applied.  WebKit seems clearly correct -- scaleZ(0) by itself should do nothing visible, because no point on the x-y plane gets moved.  3D transforms that collapse everything to a plane shouldn't stop anything from rendering, as long as that plane isn't perpendicular to the x-y plane.  Only transforms that collapse everything to a line or point should make things disappear.

I wasn't able to test in IE10, so I don't know what it does.
IE10 Developer Preview behaves like Gecko, but I don't see why that should be correct . . .
The 2012-02-07 nightly seems to have getBoundingClientRect() correct, although the box still doesn't display.
I'm no longer sure the requested behavior is actually desired: https://www.w3.org/Bugs/Public/show_bug.cgi?id=16377
The editors decided that Gecko is correct, all invertible matrices cause the content to vanish.
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → WONTFIX
(I mean *non*-invertible, obviously)
You need to log in before you can comment on or make changes to this bug.