You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

DIV无法像Marquee正常滚动,多行滚动问题如何修复?

修复CSS模拟Marquee单行滚动时的多行问题

由于<marquee>标签已废弃,我使用CSS实现了DIV从右到左的滚动效果,原代码如下:

<style>
 #scroll-container {
  overflow: hidden;
}

#scroll-text {
  transform: translateX(100%);
  animation: my-animation 15s linear infinite;
}

@keyframes my-animation {
  from {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
  }
</style>
    
    
<div id="scroll-container">
  <div id="scroll-text"> </div></div>


<script type="text/javascript" src="https://script.google.com/macros/s/AKfycbwrQBGLeIphnholKad8gvarUZ4wsMEiG9PlboMiuuB6lxW4l_UnjTuxouy2NRZkeSAd/exec"></script>
<script>
document.getElementById("scroll-text").innerHTML = marq1 + " " + "<b> <span style='color: #A000ff;'>" + marq2 + "</span> </b>" + " " + marq3 + " " + marq4 ;
</script>

原本要模拟Marquee的单行滚动行为,但实际出现了三行滚动的问题。

修复方案

核心问题是文本在容器内自动换行,只需给滚动文本容器添加强制不换行的样式:

  • 给#scroll-text添加white-space: nowrap;,强制所有文本保持单行显示
  • 可选:给#scroll-container设置固定高度(比如height: 1.5em;),避免容器高度随换行内容变化

修改后的完整代码:

<style>
 #scroll-container {
  overflow: hidden;
  height: 1.5em; /* 可选,根据文本大小调整 */
}

#scroll-text {
  transform: translateX(100%);
  animation: my-animation 15s linear infinite;
  white-space: nowrap; /* 关键:强制文本不换行 */
}

@keyframes my-animation {
  from {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
  }
</style>
    
    
<div id="scroll-container">
  <div id="scroll-text"> </div></div>


<script type="text/javascript" src="https://script.google.com/macros/s/AKfycbwrQBGLeIphnholKad8gvarUZ4wsMEiG9PlboMiuuB6lxW4l_UnjTuxouy2NRZkeSAd/exec"></script>
<script>
document.getElementById("scroll-text").innerHTML = marq1 + " " + "<b> <span style='color: #A000ff;'>" + marq2 + "</span> </b>" + " " + marq3 + " " + marq4 ;
</script>

内容的提问来源于stack exchange,提问作者Prabhu Paul

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 12:10:37