我正在尝试在 CSS 中开发循环老虎机风格的动画,但我不确定如何让它平滑过渡。
.scrollable {
height: 150px;
width: 150px;
margin: 0 auto;
padding: 0;
background: #000;
overflow: hidden;
}
.items {
-webkit-animation: scroll 5s infinite;
-moz-animation: scroll 5s infinite;
-ms-animation: scroll 5s infinite;
}
.number {
color: #ffffff;
font-size: 36px;
padding-bottom: 28px;
position: relative;
top: 20px;
}
@-webkit-keyframes scroll {
0% {
margin-top: 0;
}
27.33% {
margin-top: 0;
}
33.33% {
margin-top: -50px;
}
60.66% {
margin-top: -50px;
}
66.66% {
margin-top: -100px;
}
94.99% {
margin-top: -100px;
}
100% {
margin-top: 0;
}
}
@-moz-keyframes scroll {
0% {
margin-top: 0;
}
27.33% {
margin-top: 0;
}
33.33% {
margin-top: -50px;
}
60.66% {
margin-top: -50px;
}
66.66% {
margin-top: -100px;
}
94.99% {
margin-top: -100px;
}
100% {
margin-top: 0;
}
}
@-ms-keyframes scroll {
0% {
margin-top: 0;
}
27.33% {
margin-top: 0;
}
33.33% {
margin-top: -50px;
}
60.66% {
margin-top: -50px;
}
66.66% {
margin-top: -100px;
}
94.99% {
margin-top: -100px;
}
100% {
margin-top: 0;
}
}
<div class="scrollable">
<div class="items">
<div class="number">1</div>
<div class="number">2</div>
<div class="number">3</div>
<div class="number">1</div>
<div class="number">2</div>
</div>
</div>
我怎样才能让它看起来像一个无限循环,而不是像现在这样跳回到开头?另外,我怎样才能让循环在一定时间后停止,比如 30 秒?