发布网友 发布时间:2022-04-06 10:36
共2个回答
懂视网 时间:2022-04-06 14:57
我们在网页上经常会看到有一块位置会有很多的图片来回切换,这就是轮播图,轮播图的出现,让重要的信息可以在一个位置显现,那么,轮播图是如何实现的呢?轮播图的实现用js或者css都可以,本篇文章就来给大家介绍css3如何来实现轮播图效果。css3实现轮播图效果可以利用CSS3 animation 属性和 @keyframes 规则。
ainimation实现动画效果主要由两部分组成:
1、通过类似Flash动画中的帧来声明一个动画;
2、在animation属性中调用关键帧声明的动画。
animation 属性是一个简写属性 (推荐视频课程:css教程)
语法:animation: name duration timing-function delay iteration-count direction。
animation属性值在这里就不多介绍了,需要的话可以参考css手册。
那下面我们就来直接看一个例子:
html:
<div id="container"> <div id="photo"> <img src="http://img.zcool.cn/community/0117e2571b8b246ac72538120dd8a4.jpg@1280w_1l_2o_100sh.jpg" /> <img src="http://img.zcool.cn/community/01b34f58eee017a8012049efcfaf50.jpg@1280w_1l_2o_100sh.jpg" /> <img src="http://img.zcool.cn/community/01c60259ac0f91a801211d25904e1f.jpg@1280w_1l_2o_100sh.jpg" /> </div> </div>
css:
#container { width: 400px; height: 300px; overflow: hidden; } #photo { width: 1200px; animation: switch 5s ease-out infinite; } #photo > img { float: left; width: 400px; height: 300px; } @keyframes switch { 0%, 25% { margin-left: 0; } 35%, 60% { margin-left: -400px; } 70%, 100% { margin-left: -800px; } }
说明:
展示容器大小和图片大小一致
图片添加 float 效果,不用考虑麻烦的 margin 问题
由于示例只有三个图片,所以添加了三个动画阶段,每一阶段都是通过设置递增的 margin-left 值达到切换的效果
设置的动画阶段(如:35%~60%)是动画停留部分,和上一阶段空余时间(如25%~35%)即为动画切换部分,各部分时间长短需要自己把控。
本篇文章为大家简单介绍了关于css轮播图效果的实现,更多关于css轮播图的效果,大家可以去看看Gxlcms的特效下载。
热心网友 时间:2022-04-06 12:05
使用css3+js就能实现,css3的animation属性实现时间间隔的轮播效果,js负责计算每下一个元素出现的时间,来实现循环