/* 定义3D舞台 */
.carousel-3d {
width: 300px;
height: 200px;
perspective: 600px;
}
/* 定义每个3D盒子 */
.carousel-3d .box {
width: 100%;
height: 100%;
position: absolute;
transform-style: preserve-3d;
transition: transform 1s;
}
/* 定义6个面 */
.carousel-3d .box .side {
width: 100%;
height: 100%;
position: absolute;
background: #ccc;
border: 1px solid #000;
}
/* 动画:旋转3D盒子 */
@keyframes rotateBox {
0% {
transform: rotateY(0deg);
}
100% {
transform: rotateY(360deg);
}
}
/* 应用动画到盒子 */
.carousel-3d .box {
animation: rotateBox 10s linear infinite;
}这段代码定义了一个简单的3D旋转木马效果,通过@keyframes规则创建了一个名为rotateBox的动画,使得盒子绕Y轴连续旋转。每个盒子都是绝对定位的,并且通过transform-style: preserve-3d;保留3D效果。通过设置perspective属性给人一种深度感,同时transition属性用于定义盒子变化时的过渡效果。