.carousel-container { width: 400px; /* 木马容器宽度 */ height: 300px; /* 木马容器高度 */ position: relative; margin: 0 auto; perspective: 1000px; /* 透视效果 */ } .carousel { width: 100%; height: 100%; position: absolute; transform-style: preserve-3d; /* 保留3D效果 */ animation: rotation 12s linear infinite;/* 图片轮换时间 */ } .carousel img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-size: cover; /* 图片自适应 */ transform-origin: center center -150px; /* 旋转点 */ } .carousel img:nth-child(1) { transform: rotateY(0deg) translateZ(1px); /* 第一张图片的位置 */ } .carousel img:nth-child(2) { transform: rotateY(60deg) translateZ(1px); /* 第二张图片的位置 */ } .carousel img:nth-child(3) { transform: rotateY(120deg) translateZ(1px); /* 第三张图片的位置 */ } .carousel img:nth-child(4) { transform: rotateY(180deg) translateZ(1px); /* 第四张图片的位置 */ } .carousel img:nth-child(5) { transform: rotateY(240deg) translateZ(1px); /* 第五张图片的位置 */ } .carousel img:nth-child(6) { transform: rotateY(300deg) translateZ(1px); /* 第六张图片的位置 */ } @keyframes rotation { from { transform: rotateY(0deg); } to { transform: rotateY(360deg); } }
以上是一个比较简单的CSS3旋转木马代码实现,其中.carousel-container 代表木马容器,.carousel代表木马内容,用transform-style: preserve-3d属性保存3D效果,transform控制图片的旋转及Z轴位移。
除了上面的代码,还需要在HTML中添加对应的结构代码和对应的图片资源即可完成木马的实现。同时调整.carousel img中的rotateY值和translateZ值可以调整图片的位置和大小。