This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 15943 - Should transform-style behave specially for tables (as it seems to in WebKit)?
Summary: Should transform-style behave specially for tables (as it seems to in WebKit)?
Status: RESOLVED WONTFIX
Alias: None
Product: CSS
Classification: Unclassified
Component: Transforms (show other bugs)
Version: unspecified
Hardware: All All
: P2 normal
Target Milestone: ---
Assignee: Simon Fraser
QA Contact: public-css-bugzilla
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-02-09 17:29 UTC by Aryeh Gregor
Modified: 2012-03-07 19:26 UTC (History)
7 users (show)

See Also:


Attachments

Description Aryeh Gregor 2012-02-09 17:29:22 UTC
Consider these two test-cases:

data:text/html,<!doctype html>
<div style="transform: rotatex(90deg); transform-style: preserve-3d">
<div style="display: table-cell; transform: rotatex(90deg)">Some text</div>
</div>

data:text/html,<!doctype html>
<div style="transform: rotatex(90deg); transform-style: preserve-3d">
<table><tr>
<td style="transform: rotatex(90deg)">Some text
</table>
</div>

In Gecko, the text vanishes in both test-cases.  In Chrome 18 dev, the text is made upside-down in both test-cases.  Taken literally, the specification would seem to say that the text should be rotated in the first case (since every element has preserve-3d), and vanish in the second case (since there are intervening elements that don't have preserve-3d).

It seems Chrome (WebKit?) works something like this: any element with any of the table display types (table, inline-table, table-*) will be part of its parent's 3D rendering context, if any, even if transform-style: flat is specified.  Is this how WebKit actually works?  What should the specification require?

Related Mozilla bug: https://bugzilla.mozilla.org/show_bug.cgi?id=722777
Comment 1 Aryeh Gregor 2012-03-01 21:34:07 UTC
I'm not sure if there's anything sensible to say that's different from the current spec, although I suspect the current spec might be hard to implement.  It means implementations have to distinguish between CSS boxes created by actual HTML elements and ones created implicitly because every table-cell is in a table-row, etc.  I don't know if they currently have to do this for other purposes.  I'm CCing roc because of <https://bugzilla.mozilla.org/show_bug.cgi?id=722777#c8>, although I think he's away for a couple of weeks.

If no one has any alternative suggestions, I guess I'll close this WONTFIX.
Comment 2 Robert O'Callahan (Mozilla) 2012-03-06 23:10:36 UTC
I think we could probably make Gecko follow the current spec quite easily. Just set -moz-transform-style:inherit for the anonymous table pseudo-elements. So I think we should leave the spec as-is and just implement it.
Comment 3 Aryeh Gregor 2012-03-07 18:24:15 UTC
There have been no objections and one endorsement, so I'll resolve WONTFIX.
Comment 4 Aryeh Gregor 2012-03-07 19:26:52 UTC
Gecko bug to implement the spec: https://bugzilla.mozilla.org/show_bug.cgi?id=733849