使用css实现图片轮播功能
功能实现:
先搭建一个用于轮播的容器,水平置入需要轮播的图片,设置图片大小为容器的大小,超出容器的部分隐藏显示
然后用动画使每次需要轮播时让图片向左平移容器的宽度,这样一个简单的轮播就做好了
废话不多说,世界上案例吧
界面搭建
<body>
<div class="swiper-container">
<div class="swiper-wrapper">
<div class="swiper-slide">
<img src="https://img0.baidu.com/it/u=3680786760,2770549004&fm=253&app=138&size=w931&n=0&f=JPEG&fmt=auto?sec=1679590800&t=db941873459e76d84cc654c8aeca5387" alt="">
</div>
<div class="swiper-slide">
<img src="https://img1.baidu.com/it/u=3407056370,3781557307&fm=253&fmt=auto&app=138&f=JPEG?w=705&h=500" alt="">
</div>
<div class="swiper-slide">
<img src="https://img2.baidu.com/it/u=249362015,3629332179&fm=253&fmt=auto&app=138&f=JPEG?w=270&h=270" alt="">
</div>
<!-- 最后一张和第一次保持一致,用于无缝连接 -->
<div class="swiper-slide">
<img src="https://img0.baidu.com/it/u=3680786760,2770549004&fm=253&app=138&size=w931&n=0&f=JPEG&fmt=auto?sec=1679590800&t=db941873459e76d84cc654c8aeca5387" alt="">
</div>
</div>
</div>
</body>
样式设置
<style>
*{
margin: 0;
padding: 0;
}
.swiper-container{
width: 640px;
height: 300px;
margin: 0 auto;
overflow: hidden;
}
.swiper-container img{
width: 640px;
height: 300px;
}
.swiper-slide{
float: left;
}
.swiper-wrapper{
width: 9999px;
animation: swiperRun 5s infinite; //infinite重复动画
}
.swiper-wrapper:hover{
animation-play-state: paused; //鼠标移上时暂停
}
//设置动画的节点需根据图片的数量进行设置,否则会出现后面图片不显示;向左平移的宽度为图片的宽度
@keyframes swiperRun {
0%{
transform: translateX(0);
}
33%{
transform: translateX(-640px);
}
66%{
transform: translateX(-1280px);
}
100%{
transform: translateX(-1920px);
}
}

浙公网安备 33010602011771号