SDu*_*ude 1 html javascript css3 css-animations
我正在建立一个带有2个项目集合的选框/旋转木马效果.使用两个item-collection跨度translateX并不困难(这里是小提琴),但我不喜欢每个循环结束时的空白空间.
知道两个集合的宽度可能不同,我怎么能达到"连续性"的效果,所以在第一个循环之后,第一个集合(青色)出现在第二个集合(洋红色)之后.
任何指向CSS或JS解决方案的指针都非常受欢迎... =)
如果选取框足够大,您可以在动画中期交换其中一个集合.
我认为,这就是你可以单独使用CSS
.marquee {
width: 100%;
height: 80px;
margin: 0 auto;
overflow: hidden;
white-space: nowrap;
border: 1px solid blue;
}
.marquee-content {
display: inline-block;
margin-top: 5px;
animation: marquee 5s linear infinite;
}
.item-collection-1 {
position: relative;
left: 0%;
animation: swap 5s linear infinite;
}
@keyframes swap {
0%, 50% {
left: 0%;
}
50.01%,
100% {
left: 100%;
}
}
.marquee-content:hover {
animation-play-state: paused
}
.item1 {
display: inline-block;
height: 70px;
width: 140px;
background: cyan;
vertical-align: top;
margin-left: 15px;
}
.item2 {
display: inline-block;
height: 70px;
width: 100px;
background: magenta;
vertical-align: top;
margin-left: 15px;
line-height: 14px;
}
/* Transition */
@keyframes marquee {
0% {
transform: translateX(0)
}
100% {
transform: translateX(-100%)
}
}Run Code Online (Sandbox Code Playgroud)
<div class="marquee">
<div class="marquee-content">
<span class="item-collection-1">
<span class="item1"></span>
<span class="item1"></span>
<span class="item1"></span>
<span class="item1"></span>
<span class="item1"></span>
<span class="item1"></span>
<span class="item1"></span>
</span>
<span class="item-collection-2">
<span class="item2"></span>
<span class="item2"></span>
<span class="item2"></span>
<span class="item2"></span>
<span class="item2"></span>
<span class="item2"></span>
<span class="item2"></span>
<span class="item2"></span>
</span>
</div>
<div>Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
891 次 |
| 最近记录: |