纯css实现文字超出自动滚动

html 复制代码
  <ul class="list">
      <li class="item marquee">
        <div class="marquee-wrap">
          <div class="marquee-content ">
            这个是非超长数据
          </div>
        </div>
      </li>
      <li class="item marquee">
        <div class="marquee-wrap">
          <div class="marquee-content ">
            这个是超长数据,我超长了哦,我超长了哦,我超长了哦
          </div>
        </div>
      </li>
    </ul>
css 复制代码
.marquee {
  overflow: hidden;
}

.marquee .marquee-wrap {
  width: 100%;
  animation: marquee-wrap 4s infinite linear;
}

.marquee .marquee-content {
  float: left;
  white-space: nowrap;
  min-width: 100%;
  animation: marquee-content 4s infinite linear;
}

@keyframes marquee-wrap {
  0%,
  30% {
    transform: translateX(0);
  }
  70%,
  100% {
    transform: translateX(100%);
  }
}

@keyframes marquee-content {
  0%,
  30% {
    transform: translateX(0);
  }
  70%,
  100% {
    transform: translateX(-100%);
  }
}

其实就是里外容器对向滚动,滚动的值为里外容器宽度的差值,如果里容器与外容器等宽,那么差值就为0,视觉上是没有滚动的,就像第一条数据;如果里容器宽度比外容器宽,里容器向左滚动的距离比外容器向右滚动的距离大,就会形成滚动效果,并在里容器translateX为-100%外容器translate为100%时停下,视觉效果就是滚动到文字的最右侧。

  PS:里容器的float: left;是为了形成块级格式化上下文,避免文字撑不开容器

相关推荐
GreenTea4 小时前
GrokBot 核心成员 Lauren Tan:每月交付 2000 个 PR 的人,是怎么用 AI 的
前端·后端·架构
mCell5 小时前
用 Knip 清理 AI Coding 留下的冗余代码
前端·ai编程·前端工程化
笃行3506 小时前
使用Rokid AIUI做了一个童年推箱子游戏
前端
excel7 小时前
前端加密的作用与使用场景
前端
计算机魔术师8 小时前
纽约时报版权诉讼披露:微软高管内部称训练 AI 是人类历史上最大规模劳动窃取
前端
去伪存真9 小时前
大模型的参数量为什么那么大?
前端·人工智能
IT_陈寒9 小时前
Java空指针这次真把我坑惨了
前端·人工智能·后端
高级程序源10 小时前
django大学生创新创业项目管理系统94923-计算机课程设计、毕业设计
javascript·vue.js·spring boot·后端·python·django·课程设计
八荒启·交互动画10 小时前
# Web特效020—让 Web 特效真正动起来:时间循环应该怎么接
前端·webgl·网页特效·八荒启-交互动画·八荒启
动恰客流统计10 小时前
线下零售数字化浪潮下,客流统计的3个核心发展趋势
大数据·前端·人工智能