前端工程师实现轮播图有好多种方式,有的喜欢使用自己编写的脚本,有的喜欢使用JQurey,有的喜欢使用swiper插件,不过很少有人会单纯的使用CSS来实现轮播图。
使用CSS实现轮播图操作主要使用了伪类:checked,并将lable指向对应的input的id,来实现这个轮播的功能。
首先我们要有一个容器用来防止轮播图,这里使用的p来代替,HTML页面的代码如下:
轮播图CSS样式,这里用的ul-p,需要的话可以再写代码时用图片表示,这里仅仅是简要的表示一下:
label标签用来放置按钮,通过label来控制轮播图的切换,关于其具体的样式在实际开发中进行调整即可。
最后就是实现css轮播图的核心,主要通过使用控制控制margin值来实现轮播的而效果。
简单demo:使用HTML+CSS 实现轮播图(三张图为例,分别为:红、绿、蓝)的效果。
不能发视频,截图来代替吧
1.显示 轮播图1(实际轮播的第2个元素li)
2.显示 轮播图2(实际轮播的第3个元素li)
3.显示 轮播图3(实际轮播的第4个元素li)
4.显示 轮播图1(实际轮播的第5个元素li,之后会紧跟着重复以上动作)
<div class="div1"><div class="div2">
<p>111111111111111111111</p>
<p>211111111111111111111</p>
<p>311111111111111111111</p>
<p>411111111111111111111</p>
<p>511111111111111111111</p>
<p>611111111111111111111</p>
<p>711111111111111111111</p>
<p>2211111111111111111111</p>
<p>331111111111111111111</p>
<p>441111111111111111111</p>
<p>551111111111111111111</p>
<p>661111111111111111111</p>
<p>771111111111111111111</p>
<p>881111111111111111111</p>
<p>991111111111111111111</p>
<p>001111111111111111111</p>
</div>
</div> .div1 {
width:200px
height:200px
overflow:hidden
margin:auto
position:relative
}
@keyframes anis {
100% {
transform:translateY(-200px)
}
}img {
position:absolute
}
.div2 {
animation:anis 10s linear infinite
}
.div2:hover {
animation-play-state:paused
}