【发布时间】:2014-05-02 04:58:59
【问题描述】:
我正在尝试制作一个包含 3 行图像的无限水平滑块。
看起来像这样:
但是正如你看到的,当图像行的末尾到达时,有一个巨大的空白区域,而图像终于又出现了。
您可以在这里进行现场测试:http://jsfiddle.net/tbergeron/q596y/6/
这是它背后的 CSS:
ul.lists {
position: absolute;
left: 0;
top: 0;
white-space: nowrap;
-webkit-animation: moveSlideshow 180s linear infinite;
-moz-animation: moveSlideshow 180s linear infinite;
}
ul.lists li {
list-style: none;
display: inline-block;
}
ul.lists li img {
display: inline-block;
width: 100px;
height: 100px;
}
ul.slider2 {
top: 140px;
}
ul.slider3 {
top: 280px;
}
@-webkit-keyframes moveSlideshow {
0% {
-webkit-transform: translateX(0);
}
100% {
-webkit-transform: translateX(-300%);
}
}
@-moz-keyframes moveSlideshow {
0% {
-moz-transform: translateX(0);
}
100% {
-moz-transform: translateX(-300%);
}
}
我希望永远不要看到那个空白区域,我希望它永远滚动。任何人都知道如何实现这种行为?
谢谢,祝你有美好的一天。
【问题讨论】:
-
我认为 JS 解决方案不是最优的吗?一种想法是将一行图像分成两半,每一半都比页面宽度长,并对每一半应用不同的动画,这样一旦第一个离开屏幕,它就会出现在第二个后面的屏幕上?
-
我找到了一个infinite css carousel,你也许可以适应它:DEMO
-
只要它在所有平台上都能响应,我不介意在其中添加一些 js。感谢@LcLk 的解释,这是一个好的开始。我会检查一下旋转木马,也许我可以从中挖掘一些东西,谢谢!
-
嗨,任何反馈都会很好:) .... ze clone idea: jsfiddle.net/q596y/8