电话
13363039260
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>纯css实现的无缝滚动</title>
<meta name="keywords" content="">
<meta name="description" content="">
<style>
#outer{
width: 600px;
height: 200px;
overflow: hidden;
position: relative;
}
#inner{
overflow: hidden;
width: 1800px;
height: 200px;
position: absolute;
left: 0px;
top: 0px;
animation:move 10s cubic-bezier(0.36, 0.35, 1, 1) infinite;
}
#inner img{
width: 150px;
height: 200px;
float: left;
}
@keyframes move{
0%{left: 0px;}
100%{left: -900px;}
}
</style>
</head>
<body>
<div id="outer">
<div id="inner">
<img src="01.jpg" alt="">
<img src="02.jpg" alt="">
<img src="03.jpg" alt="">
<img src="04.jpg" alt="">
<img src="05.jpg" alt="">
<img src="06.jpg" alt="">
<img src="01.jpg" alt="">
<img src="02.jpg" alt="">
<img src="03.jpg" alt="">
<img src="04.jpg" alt="">
<img src="05.jpg" alt="">
<img src="06.jpg" alt="">
</div>
</div>
<button>000000000</button>
<button>11111111111</button>
<script>
/*var btn1=document.getElementsByTagName('button')[0];
var btn2=document.getElementsByTagName('button')[1];
var outer=document.getElementById('outer');
var inner=document.getElementById('inner');
outer.onmouseover=function (){
inner.style.animationPlayState='paused';
}
outer.onmouseleave=function (){
inner.style.animationPlayState='running';
}*/
</script>
</body>
</html>
一、结构搭建:
可以使用ul li结构抱着img (我这里比较省事 直接把img仍在了div里边),两次div,outer宽度小于内层inner的宽度便于改变内层left的值实现滚动。
二、滚动思想:
这里实现的无缝滚动,有两种基本的思想;
第一种:通过父元素的scrollLeft逐渐增加来实现;
第二种:通过css3的translate来实现,这里采用的第二种;
三、滚动动画实现:
主要运用animation动画:
下边两个button按钮用JS实现控制无缝滚动的走停(js代码注释掉了)
这是比较丑陋的CSS无缝滚动 ,喜欢的直接复制拿走!