前端如何实现一个滚动的文本字幕

13 篇文章 1 订阅

基于 HTML 的 marquee 标签 实现 文字滚动 / 字幕播放

marquee 标签介绍 :
可以实现 文字

滚动方向 direction 、滚动方式 behavior 、滚动速度 scrollamount 、

滚动延迟 scrolldelay 、滚动循环 loop 、滚动空间、滚动事件等。

1、direction 表示 滚动的方向 ,

值 可以是 left,right,up,down,默认 为 left
2、behavior 表示 滚动的方式 ,

值 可以是 scroll(连续滚动); slide(滑动一次); alternate(往返滚动)

3、loop 表示 循环的次数 ,

值 是 正整数 ,默认 为 无限循环
4、scrollamount 表示 运动速度 ,

值 是 正整数 ,默认 为 6
5、scrolldelay 表示 停顿时间 ,

值 是 正整数 ,默认 为 0 ,单位 似乎是 毫秒
6、align 表示 元素的垂直对齐方式 ,

值 可以是 top,middle,bottom,默认 为 middle
7、bgcolor 表示 运动区域的背景色 ,

值 是 16进制 的 RGB 颜色 ,默认 为 白色
8、height、width 表示 运动区域的高度和宽度

值 是 正整数(单位是像素)或 百分数 ,默认 width=100%  height 为 标签内元素的 高度
9、hspace、vspace 表示 元素到区域边界的 水平距离 和 垂直距离 ,

值 是 正整数 ,单位 是 像素 。
10、οnmοuseοver=this.stop()  οnmοuseοut=this.start()

表示 当鼠标以上区域的时候滚动停止 ,当鼠标移开的时候又继续滚动 。

具体代码示例如下:

// 滚动方向 direction
<!-- 滚动方向 direction 4个值 up down left right  默认 从右向左 -->
<marquee direction="up">我想上滚动</marquee>
--------------------------------------------------------------------------------
// 滚动方式 behavior
<!-- 3个值 scroll-循环滚动 slide-只滚动一次 alternate-来回滚动  默认 循环滚动 -->
<marquee behavior="slide">我只滚动一次</marquee>
--------------------------------------------------------------------------------
// 滚动速度 scrollamount
<!-- 值越大,滚动速度越快 一般 5-10 比较适宜消息观看 -->
<marquee scrollamount="5">我是速度为5的滚动</marquee>
--------------------------------------------------------------------------------
// 滚动延迟 scrolldelay
<!-- 值越大,滚动速度越慢,通常不设置 -->
<marquee scrolldelay="90">我延迟滚动</marquee>
--------------------------------------------------------------------------------
// 滚动循环 loop
<!-- 默认值 -1 或 infinite 表示无限循环滚动 loop="数值" 表示滚动相应的次数 -->
<marquee loop="2">我是loop循环滚动</marquee>
--------------------------------------------------------------------------------
// 滚动背景颜色 bgcolor
// 宽100px 高90px 背景色为 #f5f5f5 的滚动区域
<marquee direction="up" width="100" height="90" bgcolor="#f5f5f5" >
    <p>开发工程师</p>
    <p>设计师</p>
    <p>前端开发</p>
</marquee>
--------------------------------------------------------------------------------
// 滚动空间 hspace-水平边距 vspace-垂直边距
<marquee direction="up" width="50" hspace="20" vspace="10" >
    <p>开发工程师</p>
    <p>设计师</p>
    <p>前端开发</p>
</marquee>
--------------------------------------------------------------------------------
// 滚动事件
// 鼠标悬停,滚动停止   鼠标离开,滚动继续
<marquee direction="up" οnmοuseοver="this.stop()" οnmοuseοut="this.start()">
    <p>开发工程师</p>
    <p>设计师</p>
    <p>前端开发</p>
</marquee>

<html>
    <head>
        <title>实现滚动字幕</title>
    </head>
    <body>
      <center>
      <marquee behavior="scroll"     direction="left"               
               bgcolor="#43789B"     loop="-1" 
               scrollamount="30"     scrolldelay="400"
               width=99%  height="40" style="line-height: 45px">
               假如生活欺骗了你, 不要悲伤,不要心急!忧郁的日子里须要镇静:
               相信吧,快乐的日子将会来临!心儿永远向往着未来;现在却常是忧郁。 
               一切都是瞬息,一切都将会过去; 而那过去了的,就会成为亲切的怀恋。</marquee>
        </center>
    </body>
</html>

示例结果图:

此图为效果图


 项目使用 :

<template>
  <div>
    <!-- 滚动字幕 -->
    <div class="subtitle">
      <marquee
        behavior="scroll"
        width="1000px"
        onmouseout="this.start()"
        onmouseover="this.stop()"
      >
        {{ subtitle }}
      </marquee>
    </div>
  </div>
</template>

<script>
export default {
  data() {
    return {
      subtitle: "滚动字幕 == 滚动字幕 == 滚动字幕",
    };
  },
};
</script>

<style lang="scss" scoped>
div {
  position: relative;
  .subtitle {
    position: absolute;
    top: -28px;
    left: 22%;
    color: skyblue;
    font-size: 20px;
    font-weight: 700;
  }
}
</style>
  • 3
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值