perspective-origin 对原生表格元素无直接作用,因其仅对设了 perspective 的父容器生效,且表格元素不支持 transform-style: preserve-3d;必须改用 div 模拟表格结构,并在父容器上设置 perspective 和 perspective-origin 才能实现可控 3D 旋转。

perspective-origin 对表格 3D 旋转没直接作用
直接给 <table> 元素设置 <code>perspective-origin 不会改变其 3D 旋转的观察视角,因为该属性只对设置了 perspective 的**父容器**生效,且必须配合 transform-style: preserve-3d 才能让子元素(比如 <tr> 或 <code><td>)真正参与 3D 空间渲染。表格本身是扁平化渲染结构,浏览器默认对 <code><table>、<code><tr>、<code><td> 这类 HTML 表格元素应用 <code>display: table*,它们不支持 preserve-3d —— 即使强制设置,大多数浏览器也会忽略或降级为 2D 渲染。
想让表格“看起来”有可调视角的 3D 旋转,得绕过原生表格结构
实际可行的做法是:用 div 模拟表格布局,把每一行、每个单元格变成独立的块级元素,并统一套在带 perspective 的容器里。这样你才能自由控制 perspective-origin 的值(如 left top、50% 20px),影响整个 3D 场景的消失点位置。
-
perspective-origin的值是相对于其**直接父容器**的盒模型边界计算的,不是相对于表格内容 - 必须给父容器(比如外层
<div class="scene">)设 <code>perspective: 500px和perspective-origin: 30% 40%,再把模拟表格的div放在里面 <tr> 和 <code><td> 不能直接加 <code>transform: rotateX(45deg),要换成<div class="row"> + <code><div class="cell">,并确保它们有 <code>transform-style: preserve-3d- Chrome 和 Firefox 对
preserve-3d在嵌套display: inline或table-cell上的支持极差,哪怕用display: block强制也不行



















