使用CSS动画替代marquee标签可实现横向、纵向滚动文字效果,通过@keyframes与transform属性控制平滑动画,配合JavaScript实现交互功能,提升兼容性与用户体验。

在早期的网页设计中,marquee 标签被广泛用于创建滚动文字效果。但这个标签早已被现代标准弃用,不推荐在HTML中使用。为了实现更兼容、更可控的滚动文字效果,我们可以使用 CSS 动画 或 JavaScript 来替代。
通过 CSS 的 @keyframes 和 transform 属性,可以轻松创建平滑的滚动动画,且无需 JavaScript。
示例代码:
<style>
.scrolling-text {
white-space: nowrap;
overflow: hidden;
width: 100%;
box-sizing: border-box;
}
.scrolling-text span {
display: inline-block;
padding-left: 100%;
animation: scrollLeft 10s linear infinite;
}
@keyframes scrollLeft {
0% {
transform: translateX(0);
}
100% {
transform: translateX(-100%);
}
}
</style>
<div class="scrolling-text">
<span>这里是滚动的文字内容,可以是新闻标题或公告信息。</span>
</div>
说明:文字从右向左滚动,padding-left: 100% 确保起始位置在容器外右侧,动画将其平移出左侧。
立即学习“前端免费学习笔记(深入)”;
如果需要更灵活的控制(如暂停、加速、方向切换),可以用 JavaScript 动态调整元素位置。
示例代码:
<div id="scrollText" style="overflow: hidden; width: 100%; white-space: nowrap;">
<span>用 JavaScript 实现可交互的滚动文字效果。</span>
</div>
<script>
const element = document.getElementById('scrollText').querySelector('span');
let position = window.innerWidth;
function scrollText() {
position--;
if (position < -element.offsetWidth) {
position = window.innerWidth;
}
element.style.transform = `translateX(${position}px)`;
requestAnimationFrame(scrollText);
}
scrollText();
</script>
这种方式适合需要响应用户操作(如鼠标悬停暂停)的场景。
对于上下滚动的公告栏,也可以用 CSS 动画实现。
<style>
.vertical-scroll {
height: 60px;
overflow: hidden;
position: relative;
}
.vertical-scroll::after {
content: '';
position: absolute;
top: 0; left: 0; right: 0; bottom: 0;
background: linear-gradient(white 30%, transparent, white 70%);
pointer-events: none;
}
.vertical-scroll span {
display: block;
animation: scrollUp 8s linear infinite;
}
@keyframes scrollUp {
0% { transform: translateY(100%); }
100% { transform: translateY(-100%); }
}
</style>
<div class="vertical-scroll">
<span>第一条公告<br>第二条公告<br>第三条公告</span>
</div>
这种效果常用于网站顶部的消息通知栏。
基本上就这些。用 CSS 动画替代 marquee 标签,不仅更符合现代网页标准,还能提升性能和可维护性。根据实际需求选择横向或竖向滚动方案,结合:hover 暂停等交互优化用户体验。不复杂但容易忽略细节,比如文本长度与动画时间的匹配。
以上就是怎么用HTML插入滚动文字效果_HTML marquee标签替代方案的详细内容,更多请关注php中文网其它相关文章!
HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号