scrollamount 是 的废弃属性,仅旧版IE部分支持,现代浏览器完全忽略;应改用 CSS animation-duration 或 JS 动态控制 animationDuration 实现可靠滚动。
scrollamount 是什么,为什么改它不一定有效
scrollamount 是 标签的非标准属性,用于控制滚动文字每次移动的像素数。值越大,视觉上越“快”。但它只在部分旧版浏览器(如 IE、早期 Edge)中生效,现代 Chrome/Firefox/Safari 已完全忽略该属性——哪怕写了也毫无反应。
更关键的是: 本身是 HTML5 中**废弃(obsolete)** 的元素,W3C 不推荐使用,任何依赖它的方案都存在兼容性断裂风险。
用 CSS animation 替代 marquee 实现可控变速滚动
真正可靠的做法是用 @keyframes + animation 模拟滚动,并通过 animation-duration 精确控制速度。滚动快慢取决于动画完成一整轮所需时间,而非“每帧跳多少像素”。
示例:让文字从右到左匀速滚动一圈耗时 8 秒
立即学习“前端免费学习笔记(深入)”;
.scroll-text {
white-space: nowrap;
overflow: hidden;
}
.scroll-text span {
display: inline-block;
animation: scroll-left 8s linear infinite;
}
@keyframes scroll-left {
0% { transform: translateX(100%); }
100% { transform: translateX(-100%); }
}
-
animation-duration: 8s越小,滚动越快;设为4s就会快一倍 - 若需“变速”,可改用
ease-in-out或自定义animation-timing-function,但注意:这会让速度不均匀,可能影响可读性 - 必须确保容器有明确宽度且
overflow: hidden,否则看不到裁剪效果
JavaScript 动态调整滚动速度的实用场景
当需要响应用户操作(如鼠标悬停暂停、点击加速)时,CSS 方案不够灵活,此时用 JS 控制 animationDuration 更直接。