/* HTML结构 */ <div class="slideshow"> <div class="slideshow-wrapper"> <img src="img/slide1.jpg" alt="Slide 1"> <img src="img/slide2.jpg" alt="Slide 2"> <img src="img/slide3.jpg" alt="Slide 3"> </div> <div class="slideshow-wrapper"> <img src="img/slide4.jpg" alt="Slide 4"> <img src="img/slide5.jpg" alt="Slide 5"> <img src="img/slide6.jpg" alt="Slide 6"> </div> </div> /* CSS样式 */ .slideshow { width: 600px; height: 300px; overflow: hidden; position: relative; } .slideshow-wrapper { width: 100%; height: 100%; position: absolute; top: 0; } .slideshow-wrapper:nth-child(2) { animation: slide 6s infinite; } .slideshow-wrapper img { width: 100%; height: 100%; object-fit: cover; } @keyframes slide { 0% { transform: translateX(0%); } 16.666% { transform: translateX(-100%); } 33.333% { transform: translateX(-200%); } 49.999% { transform: translateX(-200%); } 66.666% { transform: translateX(-300%); } 83.333% { transform: translateX(-400%); } 100% { transform: translateX(-400%); } }
代码解析:
HTML结构
首先大家需要创建一个图像容器,其中包括两个轮播图的div容器和每个轮播图的img标签。在每个轮播图的div容器中,大家使用CSS的position属性将其设为绝对定位,同时将其top属性设置为0,让每个轮播图堆叠在一起。
CSS样式
大家将上面创建的图像容器设为相对定位,同时设置其宽度和高度。overflow属性设置为隐藏,确保图像不会溢出容器。大家使用nth-child选择器,通过CSS动画将第二个轮播图平移。在样式表的最后,大家声明了一个名为slide的动画,其中每个关键帧都是100%的时间段中的一个点。大家将其应用于第二个轮播图的div容器上,设置无限的动画循环。
到此为止,CSS双轮播图已经完成了,它可以在网站上使用,使您获得更好的用户体验和更优秀的设计效果。