【发布时间】:2022-01-18 10:09:36
【问题描述】:
我正在无限地为容器中的文本制作幻灯片动画。
但是,我发现它运行不顺利。当文本到达末尾时,似乎是重新开始而不是循环文本。
我想要的是文字不断向右滑动。
如何解决?
App.js
import "./styles.css";
export default function App() {
return (
<div className="App">
<div class="slide-right">
<h2>
<span>A</span>
<span>A</span>
<span>A</span>
<span>A</span>
<span>A</span>
<span>A</span>
</h2>
</div>
</div>
);
}
样式.css
.App {
font-family: sans-serif;
text-align: center;
}
.slide-right {
border: 1px solid grey;
width: 150px;
overflow: hidden;
}
.slide-right h2 {
animation: infinite slide-right 2s linear;
transform: translateX(-100%);
text-align: right;
}
.slide-right h2 span {
margin-right: 10px;
}
@keyframes slide-right {
to {
transform: translateX(0);
}
}
代码沙盒:
https://codesandbox.io/s/hidden-bird-qy3jy?file=/src/styles.css
【问题讨论】:
-
为了让它看起来连续,你可以有两个完整的内容副本和 -50% 到 0% 之间的 transformX。这样,一半会“覆盖”另一半,因此看起来是连续的。
-
@A Haworth 你能解释更多吗?
标签: javascript css reactjs