html - 双向无限图像滑块
问题描述
我希望在相反的方向上进行无限图像滚动。我已经成功地制作了一个,但另一个有一些小故障,因为它在顶部显示了额外的空白并且不能正确滚动。我曾尝试更改 css 动画,但无法做到。请参考下面的代码。
@-webkit-keyframes scroll {
0% {
transform: translateY(0);
}
100% {
transform: translateY(calc(-50vh * 3));
}
}
@keyframes scroll {
0% {
transform: translateY(0);
}
100% {
transform: translateY(calc(-50vh * 3));
}
}
@-webkit-keyframes rev-scroll {
0% {
transform: translateY(0);
}
100% {
transform: translateY(calc(100vh * 3));
}
}
@keyframes rev-scroll {
0% {
transform: translateY(0);
}
100% {
transform: translateY(calc(100vh * 3));
}
}
.sliderr {
background: white;
box-shadow: 0 10px 20px -5px rgba(0, 0, 0, 0.125);
height: 100vh;
/* margin: auto; */
overflow: hidden;
position: relative;
width: 30vw;
padding: 0 !important;
}
.sliderr::before, .sliderr::after {
background: linear-gradient(to top, rgba(0, 0, 0, 1) 0%, rgba(255, 255, 255, 0) 100%);
content: "";
height: 25vh;
position: absolute;
width: 30vw;
z-index: 2;
}
.sliderr::after {
/* right: 0; */
top: 0;
left: 0;
transform: rotateZ(180deg);
}
.sliderr::before {
left: 0;
bottom: 0;
}
.sliderr .slide-track {
-webkit-animation: scroll 40s linear infinite;
animation: scroll 5s linear infinite;
display: flex;
flex-direction: column;
height: calc(50vh * 6);
}
.sliderr .slide {
height: 50vh;
width: 30vw;
}
.sliderr .slide img{
height: 50vh;
width: 30vw;
object-fit: cover;
}
.sliderr .slide-track-rev {
-webkit-animation: rev-scroll 40s linear infinite;
animation: rev-scroll 5s linear infinite;
display: flex;
flex-direction: column;
height: calc(50vh * 6);
}
<div class="sliderr">
<div class="slide-track">
<div class="slide">
<img src="https://picsum.photos/300/300?random=1" height="100" width="250" alt="" />
</div>
<div class="slide">
<img src="https://picsum.photos/300/300?random=2" height="100" width="250" alt="" />
</div>
<div class="slide">
<img src="https://picsum.photos/300/300?random=3" height="100" width="250" alt="" />
</div>
<div class="slide">
<img src="https://picsum.photos/300/300?random=1" height="100" width="250" alt="" />
</div>
<div class="slide">
<img src="https://picsum.photos/300/300?random=2" height="100" width="250" alt="" />
</div>
<div class="slide">
<img src="https://picsum.photos/300/300?random=3" height="100" width="250" alt="" />
</div>
</div>
</div>
<div class="sliderr">
<div class="slide-track-rev">
<div class="slide">
<img src="https://picsum.photos/300/300?random=1" height="100" width="250" alt="" />
</div>
<div class="slide">
<img src="https://picsum.photos/300/300?random=2" height="100" width="250" alt="" />
</div>
<div class="slide">
<img src="https://picsum.photos/300/300?random=3" height="100" width="250" alt="" />
</div>
<div class="slide">
<img src="https://picsum.photos/300/300?random=1" height="100" width="250" alt="" />
</div>
<div class="slide">
<img src="https://picsum.photos/300/300?random=2" height="100" width="250" alt="" />
</div>
<div class="slide">
<img src="https://picsum.photos/300/300?random=3" height="100" width="250" alt="" />
</div>
</div>
</div>
解决方案
推荐阅读
- python-3.x - 用整数除浮点数
- android - ANDROID STUDIO 4.0 错误(开放阶段结束时没有进展)
- python - 在 Python 的 Pip 中,如何搜索与版本模式匹配的包的所有可能版本?
- javascript - 事件监听器和转换 JS
- c - 我需要使用 do/while 循环获得两个限制之间的值。当我在 while() 中放置两个条件时,代码会中断
- firebase - Streambuilder 帮助 Flutter Firebase 存储
- java - 角/弹簧靴| 错误:SyntaxError:“JSON.parse:JSON 数据的第 1 行第 1 列出现意外字符”
- linux - 让 apache 只读取一个 php 文件
- google-chrome - 触摸自动在 Chromium 中的文本框上显示上下文菜单
- apache-ftpserver - 我们可以使用 Apache FTP 客户端执行 CPYTOIMPF 命令吗?