下面是一个实现3D旋转的案例:
.box { width: 200px; height: 200px; background-color: #007bff; position: relative; perspective: 800px; transform-style: preserve-3d; } .box .front { width: 200px; height: 200px; position: absolute; z-index: 1; background-color: #fff; transition: all .5s; } .box:hover .front { transform: rotateY(-180deg); } .box .back { width: 200px; height: 200px; position: absolute; transform: rotateY(180deg); background-color: #fff; transition: all .5s; } .box:hover .back { transform: rotateY(0); }
以上是一个div元素的样式,其中包含一个前面(front)和一个后面(back)的子元素,如下所示:
这里是正面
这里是背面
实现3D旋转的关键是使用perspective属性来设置父元素的视角,然后使用transform-style属性来指定子元素沿着3D空间旋转,然后使用transform属性来指定具体的旋转动作。
例如,在以上实例中,当鼠标悬停在父元素上时,触发:hover伪类,并设置front元素的transform属性为rotateY(-180deg),back元素的transform属性为rotateY(0),从而实现父元素沿Y轴旋转,显示back元素,并隐藏front元素;当鼠标移出元素后,以上变化则被还原。
通过以上介绍,相信大家对CSS3 3D旋转有了一定的了解,并且在今后的开发中可以灵活运用。