CSS3可实现众多动画效果,让页面内容更加生动有趣。今天我们来介绍一种使用CSS3实现正方体3D动画效果的方法。
.cube { position: relative; width: 200px; height: 200px; transform-style: preserve-3d; /* 保留元素的3D转换 */ } .cube .face { position: absolute; width: 200px; height: 200px; backface-visibility: hidden; /* 隐藏背面 */ } .cube .face-front { transform: translateZ(100px); background-color: #f00; } .cube .face-back { transform: rotateY(180deg) translateZ(100px); background-color: #0f0; } .cube .face-right { transform: rotateY(90deg) translateZ(100px); background-color: #00f; } .cube .face-left { transform: rotateY(-90deg) translateZ(100px); background-color: #ff0; } .cube .face-top { transform: rotateX(90deg) translateZ(100px); background-color: #f0f; } .cube .face-bottom { transform: rotateX(-90deg) translateZ(100px); background-color: #0ff; }
在上面的代码中,我们使用了CSS3中的transform属性来实现元素的3D转换。其中,translateZ()函数可以改变元素在z轴上的位置,rotateX()、rotateY()、rotateZ()函数可以改变元素的旋转角度。
另外,backface-visibility属性可以设置元素的背面是否可见。当元素进行翻转时,如果背面可见,则会看到元素翻转后的反面;如果背面不可见,则看不到反面。