perspective定义观察距离,transform-style开启3D渲染。前者设置父容器的视距影响子元素立体感,值越小透视越强;后者需设为preserve-3d以保持子元素3D空间。

在CSS中实现3D效果,perspective 和 transform-style 是两个关键属性。它们各自承担不同角色,配合使用可以让元素呈现出真实的立体感和空间层次。
perspective:定义观察3D元素的距离
perspective 属性决定了用户与3D变换元素之间的视距,简单说就是“眼睛离元素有多远”。值越小,3D效果越强烈;值越大,透视感越弱,接近正视图。
它通常应用在父容器上,影响其子元素的3D渲染视觉效果。
常见用法:-
perspective: 500px;—— 设置观察距离为500像素 - perspective-origin 调整视角的原点(如从左侧或上方看)
transform-style: preserve-3d —— 保持子元素的3D空间
默认情况下,即使子元素设置了3D变换(如 rotateY),它们也会被“压平”到父元素的平面中。这是因为父元素的 transform-style 默认是 flat。
立即学习“前端免费学习笔记(深入)”;
要让子元素真正处于3D空间中,必须在父元素上设置:
transform-style: preserve-3d;
实际应用示例
假设我们要做一个3D旋转的立方体:
- perspective: 800px; 提供足够深度
- transform-style: preserve-3d;
基本上就这些。理解 perspective 控制“怎么看”,transform-style 决定“是否保留3D结构”,就能更自如地构建网页中的立体视觉效果。不复杂但容易忽略细节。










