【发布时间】:2023-03-30 06:40:01
【问题描述】:
我创建了一个带有一些徽标的滑块,但动画没有开始。我只用 css 创建它,但它仍然被阻止。我检查了几次代码,但我能找到答案。 滑块应该滚动并更改徽标,但它不起作用。
我认为它也可以用 javascript 创建,但我不知道该怎么做。
有人可以帮我吗?
.slider {
width: 960px;
height: 100px;
overflow: hidden;
position: relative;
margin: auto;
}
.slider::before,
.slider::after {
content: "";
position: absolute;
width: 200px;
height: 100px;
background: linear-gradient(to right, width 0%, rgba(255, 255, 255, 0) 100%);
z-index: 2;
}
.slider::before {
top: 0;
left: 0;
}
.slider::after {
top: 0;
right: 0;
transform: rotateZ(180deg);
}
.slider .slide img {
width: 200px;
height: 100px;
}
.slider .slider-track {
display: flex;
width: calc(200px * 20);
animation: scroll 4s ease 3s infinite linear;
}
@keyframes scroll {
0% {
transform: translateX(0);
}
100% {
transform: translateX(calc(-200px * 10));
}
}
<div class="slider">
<div class="slider-track">
<div class="slide">
<img src="./1.png">
</div>
<div class="slide">
<img src="./2.png">
</div>
<div class="slide">
<img src="./3.png">
</div>
<div class="slide">
<img src="./4.png">
</div>
<div class="slide">
<img src="./5.png">
</div>
<div class="slide">
<img src="./6.png">
</div>
<div class="slide">
<img src="./7.png">
</div>
<div class="slide">
<img src="./8.png">
</div>
<div class="slide">
<img src="./9.png">
</div>
<div class="slide">
<img src="./10.png">
</div>
</div>
</div>
【问题讨论】:
-
罪魁祸首是你的
animation语法。有关正确的语法,请参阅developer.mozilla.org/en-US/docs/Web/CSS/animation。您可以定义两个动画,但您定义的是一个具有两次和两个计时功能的动画。例如,删除3s和ease将解决语法问题。
标签: css slider css-animations