<!doctype html>
<html>
<head>
<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无缝滚动 ,喜好的直接复制拿走!