关键是将外面的container设置成为相对定位且其width
为一个子元素的width
,里面的子元素长度设置为count*width
,且绝对定位,利用animation
实现动画效果。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style type="text/css">
#carousal{
position: relative;
width:300px;
height: 300px;
overflow: hidden;
}
.list-carousal{
margin:0;
list-style: none;
width:300px;
height: 300px;
float: left;
}
#content{
position: absolute;
top:0;
left:0;
width:1200px;
height: 300px;
animation: toLeft 6s linear infinite;
}
@keyframes toLeft {
0%{
margin-left: 0;
}
30% {
margin-left: -300px;
}
55% {
margin-left: -600px;
}
100% {
margin-left: -900px;
}
}
</style>
</head>
<body>
<div id="carousal">
<ul id="content">
<li class="list-carousal" style="background-color: red"></li>
<li class="list-carousal" style="background-color: gray"></li>
<li class="list-carousal" style="background-color: green"></li>
<li class="list-carousal" style="background-color: black"></li>
</ul>
</div>
</body>
</html>