【发布时间】:2021-05-21 10:14:50
【问题描述】:
我用 CSS 相同的方式制作了一些正在运行的文本动画动画,就像在回答 here 中一样。我试图这样实现它以避免任何 JS 操作。在 Chrome 中一切正常,但在 Safari 中文本会颤抖。
.marquee {
position: relative;
overflow: hidden;
background: rgb(161, 61, 175);
color: #fff;
}
.marquee span {
display: inline-block;
min-width: 100%; /* this is to prevent shorter text animate to right */
white-space: nowrap;
font-size: 2.5em;
animation: marquee 4s ease-in-out infinite;
}
@keyframes marquee {
0% {
transform: translateX(0);
margin-left: 0;
}
10% {
transform: translateX(0);
margin-left: 0;
}
90% {
transform: translateX(-100%);
margin-left: 100%;
}
100% {
transform: translateX(-100%);
margin-left: 100%;
}
}
<h1 class="marquee">
<span>The only thing that matters now is everything You think of me</span>
</h1>
<p class="marquee">
<span>Beware of short texts!</span>
</p>
我试图通过仅使用 CSS 来解决这个问题,但我仍然找不到解决方案。是的,我可以使用 JS 并避免将动画赋予较小的元素。但也许有一种方法可以仅使用 CSS 为 Safari 修复这些问题。
【问题讨论】: