为什么使用 transform-style: preserve-3d 时,perspective 属性应设置在父元素上?
透视应设置在 transform-style: preserve-3d 元素的父级元素上吗?
对于采用 css3 中的 transform-style: preserve-3d 的元素,perspective 属性通常建议设置在其父级元素上。
为何如此?
perspective 属性定义了相机与元素之间沿 z 轴的距离,从而创建 3d 效果。它与 transform-style: preserve-3d 一起作用,使得元素可以沿 z 轴旋转和移动而不会变形。
如果 perspective 直接应用于 transform-style: preserve-3d 元素,会导致变形,因为元素的 z 轴深度会随着其自身旋转和移动而变化。
示例
考虑以下代码:
.scene { perspective: 600px; } .cube { transform-style: preserve-3d; }
在这种情况下,透视是在 .scene 元素上设置的,它也是 .cube 元素的父级。这将产生预期的 3d 效果,在该效果中 .cube 可以沿 z 轴旋转而不会变形。
常见错误
错误地将 perspective 直接应用于 .cube 元素会导致变形。例如:
.cube { perspective: 600px; transform-style: preserve-3d; }
在这个示例中,perspective 应用于 .cube 元素,导致其变形。
因此,建议始终将 perspective 应用于 transform-style: preserve-3d 元素的父级元素,以实现正确的 3d 效果。
以上就是为什么使用 transform-style: preserve-3d 时,perspective 属性应设置在父元素上?的详细内容,更多请关注其它相关文章!