想必大家都会比较好奇各种网站里面的轮播图是怎么实现的,在这里就跟大家说一下CSS中如何实现轮播图动画。
首先设置一个大的div,如图
然后在这个div中再建立一个放图片的div,注意,此div的width为你所有图片width的总和,如图
然后在class=one的div中用overflow:hidden来隐藏溢出内容
这时可以使用@keyframes来进行轮播图的设置,其中@keyframes后面需写好一个名字,然后from中是起始位置,to为终止位置,如图
@keyframes name{
from{
margin-left: 0px;
}
to{
margin-left: -800px;
}
}
然后便可去上面的div里面设置了,如图
div.two{
width: 1200px;
height: 200px;
border: 1px solid wheat;
animation-name: name;
animation-duration: 5s;
animation-timing-function: linear;
animation-iteration-count: 3;
}
其中animation-name为你所设置的@keyframes姓名,animation-duration为轮播时间,animation-timing-function为轮播速度,animation-iteration-count为播放次数。
然后我们只需将图片插入且设置好大小即可,代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
div.one{
width: 400px;
height: 200px;
border: 1px solid darkkhaki;
margin: 0 auto;
overflow: hidden;
}
div.two{
width: 1200px;
height: 200px;
border: 1px solid wheat;
animation-name: name;
animation-duration: 5s;
animation-timing-function: linear;
animation-iteration-count: 3;
}
div.two div{
width: 400px;
height: 200px;
float: left;
}
div.two div>img{
width: 400px;
height: 200px;
}
@keyframes name{
from{
margin-left: 0px;
}
to{
margin-left: -800px;
}
}
</style>
</head>
<body>
<div class="one">
<div class="two">
<div><img src="../1.jpg" alt=""></div>
<div><img src="../2.jpeg" alt=""></div>
<div><img src="../5.jpg" alt=""></div></div>
</div>
</body>
</html>
然后便可实现轮播效果了