我尝试制作多个嵌套的3D转换元素。即几个嵌套元素都具有3D转换和transform-style:preserve-3d
属性。
但是,当一个元素具有overflow
属性时,它的所有祖先都会被展平。
例如:
<style>
div{transform-style:preserve-3d;}
</style>
<div style="transform:rotateY(30deg) rotateX(-30deg);">
<div style="transform:translateZ(30px)">
<div style="transform:translateZ(30px)">
<div style="transform:translateZ(30px);overflow:hidden"><!-- everything beyond here is flat -->
<div style="transform:translateZ(30px)">
<div style="transform:translateZ(30px)">
<div style="transform:translateZ(30px)">
</div>
</div>
</div>
</div>
</div>
</div>
</div>
小提琴:http://jsfiddle.net/Lqfy3mgs/
我在Chrome和FF中对此进行了测试。是否可以使用overflow
?
答案 0 :(得分:6)
我担心这符合规范:
以下CSS属性值要求用户代理创建 在它们可以之前展平后代元素的表示 应用,因此强制将transform-style的使用值强制为 的平强>:
- 溢出:除可见之外的任何值。
- ...
来源: http://dev.w3.org/csswg/css-transforms/#grouping-property-values
答案 1 :(得分:0)
<强> w3: 强>
隐藏 该值表示内容被剪裁,并且不应提供滚动用户界面来查看剪辑区域外的内容。
正如你所看到的那样,对于3d变换元素aswel,所以即使变换也无法摆脱设置overflow:hidden
时发生的剪辑。