Car*_*los 3 html css css-animations
我正在使用 css3 构建一个滑块。现在滑块连续运行,但流程不正确。在幻灯片 4 之后,滑块从左到右返回到第一张幻灯片。
在最后一张幻灯片之后我想要的是第一张幻灯片应该从右到左出现,因为它以其他幻灯片的方式出现。
只能通过 css 实现吗?
@keyframes slide{
0%{ transform:translateX(0px) }
25%{ transform:translateX(-200px) }
50%{ transform:translateX(-400px) }
75%{ transform:translateX(-600px) }
100%{ transform:translateX(0px) }
}
Run Code Online (Sandbox Code Playgroud)
我设置了不同的解决方案以避免复制第一张图片
动画更复杂,但您可以重用它设置延迟
#slideshow {
position: relative;
width: 200px;
height: 400px;
border: 5px solid #fff;
overflow: hidden;
}
#slideshow img {
position: absolute;
left: 0px;
top: 0;
animation: slide 5s infinite;
}
#slideshow img:nth-child(2) {
animation-delay: -1.25s;
}
#slideshow img:nth-child(3) {
animation-delay: -2.5s;
}
#slideshow img:nth-child(4) {
animation-delay: -3.75s;
}
@keyframes slide {
0% {
transform: translateX(0px);
}
20% {
transform: translateX(0px);
}
25% {
transform: translateX(-200px);
opacity: 1;
}
30% {
transform: translateX(-200px);
opacity: 0;
}
90% {
transform: translateX(200px);
opacity: 0;
}
95% {
transform: translateX(200px);
opacity: 1;
}
100% {
transform: translateX(0px);
opacity: 1;
}
}Run Code Online (Sandbox Code Playgroud)
<div id="slideshow">
<img src="http://placehold.it/200x400/4F77AA/FFFFFF">
<img src="http://placehold.it/200x400/72A94C/FFFFFF">
<img src="http://placehold.it/200x400/A94F83/FFFFFF">
<img src="http://placehold.it/200x400/F9E934/FFFFFF">
</div>Run Code Online (Sandbox Code Playgroud)