使用CSS的@keyframes和transform: translateX()可实现高性能跑马灯效果,通过overflow: hidden隐藏溢出内容,white-space: nowrap防止换行,结合animation实现从右向左的连续滚动;进阶方案可通过双倍文本配合translateX(-50%)实现无缝滚动,适用于通知栏、榜单等场景,无需JavaScript即可完成。

要实现文字滚动的跑马灯效果,可以使用 CSS 的 @keyframes 和 transform: translateX() 配合完成。这种方式性能好、兼容性高,适合在 banner、通知栏、榜单等场景中使用。
通过定义关键帧动画,让文本容器从右向左平移(或反之),实现连续滚动的效果。核心是利用 translateX 控制元素水平位移,并结合容器的溢出隐藏(overflow: hidden)来制造“跑动”的视觉感。
<div class="marquee-container">
<div class="marquee-text">
欢迎访问我们的网站!最新活动火热进行中,点击了解更多详情……
</div>
</div>
设置外层容器限制宽度并隐藏溢出,内层文本设置白空间不换行,并通过 keyframes 定义从右到左的平移动画。
立即学习“前端免费学习笔记(深入)”;
.marquee-container {
width: 100%;
max-width: 800px;
overflow: hidden;
white-space: nowrap;
margin: 0 auto;
background-color: #f0f0f0;
padding: 10px;
border-radius: 4px;
}
<p>.marquee-text {
display: inline-block;
font-size: 18px;
color: #333;
animation: marqueeAnimation 10s linear infinite;
}</p><p>@keyframes marqueeAnimation {
0% {
transform: translateX(100%);
}
100% {
transform: translateX(-100%);
}
}</p>如果希望实现更平滑的无缝滚动(比如文本重复出现),可以通过复制内容或使用伪元素扩展长度,再调整动画距离。
立即学习“前端免费学习笔记(深入)”;
/* 示例:双倍文本无缝滚动 */
.marquee-text {
animation: marqueeSmooth 12s linear infinite;
white-space: nowrap;
}
<p>@keyframes marqueeSmooth {
0% {
transform: translateX(0);
}
100% {
transform: translateX(-50%);
}
}</p><p>/<em> 需配合将内容重复一次,或用 JS 动态生成双倍宽度 </em>/</p>基本上就这些。使用 keyframes 和 translateX 实现跑马灯简单高效,无需 JavaScript,适合大多数静态滚动需求。注意控制动画时长以适应文本长度,避免过快或过慢影响阅读体验。
以上就是css如何实现文字滚动跑马灯效果_使用keyframes和translateX动画实现的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号