纯css实现文字左右循环滚动播放效果

思路:由两个span模块组成,第一个为空的span内容,为的是实现第二个span内容缓慢出现的效果。

代码如下:

html 复制代码
   <div class="scrollingStyle">
       <span class="first-marquee"></span>
       <span class="second-marquee">系统通知:【{{scrollingText}} 发布于:{{time}}】</span>
   </div>
css 复制代码
  .scrollingStyle {
    font-size: 16px;
    width: 300px;
    overflow: hidden; /*超出文本的范围就隐藏*/
    white-space: nowrap; /*超出文本的范围不换行*/
    text-overflow: ellipsis; /*在文本的范围内,末尾以"..."的形式展示*/
  }
  .first-marquee {
  /*第一个span的播放速度*/
    -webkit-animation: 5s first-marquee 1s linear infinite normal;
    animation: 5s first-marquee linear 1s infinite normal;
    padding-right: 100%;
  }

  @keyframes first-marquee {
    0% {
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0);
    }
    /* 向左移动 */
    100% {
      -webkit-transform: translate3d(-200%, 0, 0);
      transform: translate3d(-200%, 0, 0);
      display: none;
    }
  }

  .second-marquee {
    /* 第二个span的播完速度 */
    -webkit-animation: 25s first-marquee linear infinite normal;
    animation: 25s first-marquee linear infinite normal;
    padding-right: 53%;
  }

  @keyframes second-marquee {
    0% {
      -webkit-transform: translate3d(0%, 0, 0);
      transform: translate3d(0%, 0, 0);
    }
    100% {
      -webkit-transform: translate3d(-200%, 0, 0);
      transform: translate3d(-200%, 0, 0);
      display: none;
    }
  }
相关推荐
CC码码13 分钟前
解决前端多标签页通信:BroadcastChannel
前端·javascript·web
墨鸦_Cormorant17 分钟前
Vue 概述以及基本使用
前端·javascript·vue.js
JarvanMo30 分钟前
10 个能帮你节省大量开发时间的低估 Flutter 组件
前端
去伪存真33 分钟前
公司前端项目ESLint规则集统一化
前端
鹏多多37 分钟前
使用imaskjs实现js表单输入卡号/日期/货币等掩码的教程
前端·javascript·vue.js
w2vmany38 分钟前
postmessage xss初步学习
前端·学习·xss
小张成长计划..1 小时前
前端6:CSS3 2D转换,CSS3动画,CSS3 3D转换
前端·3d·css3
IT_陈寒1 小时前
Vue3性能优化实战:这7个技巧让我的应用加载速度提升50%!
前端·人工智能·后端
西西学代码2 小时前
Flutter---音效模式选择器
前端·html
TLucas2 小时前
Layui连线题编辑器组件(ConnectQuestion)
前端·编辑器·layui