作用:设置元素的子元素是位于3D空间中还是平面中
属性名:transform-style
属性值:
- flat:子级处于平面中
- preserve-3d:子级处于3D空间
步骤:
- 父级元素添加 transform-style:preserve-3d
- 子级定位
- 调整子盒子的位置(位移或旋转)
演示:
<style>.cube {width: 200px;height: 200px;margin: 100px auto;background-color: rgb(106, 220, 116);transition: all 2s;}.cube div {width: 200px;height: 200px;}.front {background-color: #2180d4;}.back {background-color: #dd1e1e;}</style>
</head><body><div class="cube"><div class="front"></div><div class="back"></div></div>
</body>
按照步骤父级添加 transform-style: preserve-3d;为了更好的视觉效果我又添加了视距transform-style: preserve-3d;然后根据子绝父相原则给它们定位,最后transform: translateZ(80px)将两个盒子分开,添加一个旋转的效果使其更明显。
<style>.cube {position: relative;width: 200px;height: 200px;margin: 100px auto;background-color: rgb(106, 220, 116);transition: all 2s;transform-style: preserve-3d;transform-style: preserve-3d;}.cube div {position: absolute;left: 0;top: 0;width: 200px;height: 200px;}.front {background-color: #2180d4;transform: translateZ(80px);}.back {background-color: #dd1e1e;}.cube:hover {transform: rotateY(180deg);}</style>
</head><body><div class="cube"><div class="front">前面</div><div class="back">后面</div></div>
</body>