您的位置:首页 > Web前端 > CSS

纯css实现轮播图

2017-01-30 11:40 435 查看
轮播图的实现原理其实是比较简单的

举个例子

<div  class="main">
<div class="div-main"></div>
</div>


main的宽度是100px

div-main的宽度是500px

我们用js控制div-main往左或往右移动,这样就实现了轮播,简单把

好了,先介绍个 css3的api

animation: myfirst 5s linear 2s infinite alternate;

myfirst:动画名

5s:动画多久执行完

linear:动画以什么曲线执行

2s:动画延迟多长时间执行

infinite:该参数是动画一直循环,可以写数字也行

alternate:只动画在倒过来执行

先介绍到这里,完整用法可以参考:css3动画api参考

下面上代码:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>RunJS</title>
</head>
<body>
<div id="frame" >
<div id="photos" class="play">
<div class="img"></div>
<div class="img"></div>
<div class="img"></div>
<div class="img"></div>
<ul id="dis">
<li>111111111111111</li>
<li>22222222222222</li>
<li>33333333333333</li>
<li>44444444444444</li>
</ul>
</div>
</div>
</body>
</html>


#frame{position:absolute;width:302px;height:200px;overflow:hidden;border-radius:5px}
#dis{position:absolute;left:-50px;top:-10px;opacity:.5}
#dis li{display:inline-block;width:200px;height:20px;margin:0 50px;float:left;text-align:center;color:#fff;border-radius:10px;background:#000}
#photos .img{float:left;width:300px;height:200px;background-color:red;border-left:1px solid blue;}
#photos {  position: absolute;z-index:9;  width: calc(301px * 4);/*---修改图片数量的话需要修改下面的动画参数*/  }
.play{ animation: ma 5s ease-out infinite alternate;}
@keyframes ma {
0%,25% {        margin-left: 0px;       }
30%,50% {       margin-left: -300px;    }
55%,75% {       margin-left: -600px;    }
80%,100% {       margin-left: -900px;    }

}


正所谓什么代码也比不上一个 在线运行demo
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: