赞
踩
不入虎穴,焉得虎子。要想知道这轮播图的运作原理,还得打下一层基础——了解一个名为animation的属性。
animation: name duration timing-function delay iteration-count direction fill-mode;
结论:从中我们又发现了一个新的关键字@keyframes,而这个@keyframes才是动画最关键的零件,该关键字在css样式中书写,格式如下:
@keyframes identifier {
from {
}
to {
}
}
而identifier不难看出是自定义的动画名称,照应上方的animation-name。其中的from和to两个关键字,相信以及不难想到,from是动画开始时的状态,to是动画经过改变之后的状态。
<div class="eye"> <div class="wrap"> <div class="item"> <img src="./p1.png" alt=""> </div> <div class="item"> <img src="./p2.jpg" alt=""> </div> <div class="item"> <img src="./p3.jpg" alt=""> </div> <div class="item"> <img src="./p4.png" alt=""> </div> </div> </div>
不难看出,eye类名为相框,wrap类名为画布,而wrap里的每一个div就相当于一幅画。
现在给它们加上css样式:
.eye { width: 350px; height: 400px; border: 5px solid #333; margin: 100px auto; /* 为防止我们看到相框大小以外的画布,将其他画布区域隐藏 */ overflow: hidden; } /* 图片的容器 */ .wrap { width: 1400px; height: 400px; margin-left: 0; /* 这里的4指的是有四张图片 step(4)逐帧播放,此处需注意若不采用step则没有轮播图效果,不妨试试改为linear */ animation: move 5s infinite steps(4); } .item { width: 350px; height: 400px; /* 将每一副画浮动到画布上 */ float: left; } img { width: 350px; height: 400px; } @keyframes move { from { margin-left: 0px; } to { /* 逐帧播放-1400px */ margin-left: -1400px; }
下面是成品:
❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀
❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。