利用动画实现轮播图效果
animation: name duration timing-function delay iteration-count direction
name: 动画名
duration: 动画持续时间 设置为0则不执行
timing-function:动画速度曲线
delay:动画延迟开始时间 设置为0则不延迟
iteration-count:动画循环次数 设置为infinite则无限次循环
direction:是否应该轮流反向播放动画 normal 否 alternate 是
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title></title>
<style type="text/css">
.loop-wrap {
position: relative;
width: 500px;
height: 300px;
margin: 100px auto;
overflow: hidden;
}
.loop-images-container{
position: absolute;
left: 0; top: 0;
width: 500%; /* 横向排列 5张图片 宽度应为主容器5倍 */
height: 100%;
font-size: 0;
}
.loop-image{
width: 500px;
height: 300px;
}
.loop-images-container{
position: absolute;
left: 0; top: 0;
width: 500%;
height: 100%;
font-size: 0;
transform: translate(0,0); /* 初始位置位移 */
animation: loop 10s linear infinite;
}
/* 创建loop动画规则 */
/*
轮播5张,总耗时10s,单张应为2s(20%)
单张切换动画耗时500ms,停留1500ms
*/
@keyframes loop {
0% {transform: translate(0,0);}
15% {transform: translate(0,0);} /* 停留1500ms */
20% {transform: translate(-20%,0);} /* 切换500ms 位移-20% */
35% {transform: translate(-20%,0);}
40% {transform: translate(-40%,0);}
55% {transform: translate(-40%,0);}
60% {transform: translate(-60%,0);}
75% {transform: translate(-60%,0);}
80% {transform: translate(-80%,0);}
95% {transform: translate(-80%,0);}
100% {transform: translate(0,0);} /* 复位到第一张图片 */
}
</style>
</head>
<body>
<div class="loop-wrap">
<div class="loop-images-container">
<img src="img/1.jpg" class="loop-image">
<img src="img/2.jpg"class="loop-image" >
<img src="img/3.jpg"class="loop-image" >
<img src="img/1.jpg" class="loop-image">
<img src="img/2.jpg"class="loop-image" >
</div>
</div>
</body>
</html>
以上代码为整体格式,如有建议请联系小编。