文字走马灯 置顶显示

html-css011

文字走马灯 置顶显示,第1张

应用css实现走马灯置顶显示

超出显示

用到命令 text-overflow : clip | ellipsis 文本超出:截断|省略

但这一条命令是看不到效果的,需要另外两条命令配合使用,让文本能够溢出,第一个是强制一行内显示,white-space:nowrap;第二个是溢出内容隐藏,overflow:hidden

超出跑马等效果

老的前端开发人员对于marquee标签肯定不陌生,一个被淘汰的标签,被刚入门的新手所喜爱,因为能通过一个简单的标签做出动态的效果。但是在实际应用上的局限性和效果的过时,使这个标签退出历史舞台,大家纷纷改用js来实现无间断滚动等效果。

新的CSS3 marquee设置,可以说功能强大了很多,更加易操作,用简单的代码解决了js中比较纠结的字符长度判断等难题。强烈推荐大家使用。

对于这个属性的定义,W3C标准用法和webkit内核浏览器的支持用法并不相同,由于我们立足实战实用,所以这里只介绍好用的。可用的。

我们需要四句常用命令

overflow:-webkit-marquee//指定溢出时滚动。

-webkit-marquee-style:scroll | slide | alternate//跑马灯样式,分三种。

scroll,从一端滚动到另一端,内容完全滚入(消失)时重新开始。slide,从一端滚到另一端,内容接触到另一端后,立马重新开始。alternate,内容不跑到显示区域外,在里面来回碰壁反弹。这里主要用第一种。

-webkit-marquee-repetition:infinite | number// 跑马灯跑的次数,infinite 为无限多次,不结束。或者可以用正整数设置滚动的次数。

-webkit-marquee-direction:up | down | left | right//跑动的方向,这个要注意结合实际情况,即实际你操作的标签文本流溢出在哪个方向溢出。

-webkit-marquee-speed:slow | normal | fast//跑动的速度设置。

在css中让文字显示方式从右边开始的操作方法和步骤如下:

1、首先,创建一个新的html文档,见下图红框中的内容,然后进入下一步。

2、其次,完成上述步骤后,可以更改文档的名称,见下图红框中的内容,然后进入下一步。

3、接着,完成上述步骤后,输入文本,见下图红框中的内容,然后进入下一步。

4、然后,完成上述步骤后,进一步设置以下文本的对齐方式,示例代码如下图所示,然后进入下一步。

5、最后,完成上述步骤后,在浏览器中预览,文本右对齐,见下图红框中的内容。这样,问题就解决了。

1.需要文字跑到结束再重新开始,需要开启定时器

2.从右向左移动,需要用到css 的 transform,设置transLateX,

3.何时重新跑的条件设置需要占位多宽 offsetWidth 属性

4.一行和多行需要区别判断

 1.css部分:

<div class="ul_box" @click="checkWidth()">

      <ul class="ul_id">

        <li class="li_id">

          <span class="content_id">

            {{message.Content}}

            啊啊啊啊,

          </span>

        </li>

      </ul>

    </div>

2.js部分

checkWidth(){

        let spanEle = document.querySelector('.content_id')

        let offsetWidth = spanEle.offsetWidth

        let liEle = document.querySelector('.li_id')

        let initOffset = liEle.offsetWidth-10

        liEle.style.transform = 'translateX(' + initOffset + 'px)'

        console.log(offsetWidth)

        let index = 0

        let timer = setInterval(function() {

          index++

          var translatex = initOffset - index * 5

          if (offsetWidth <initOffset) {

            if (translatex  <= 0) {

              translatex = initOffset

              index  = 0

            }

          }

          if (index >offsetWidth/5 &&offsetWidth >initOffset) {

            translatex = initOffset

            index = 0

          }

        liEle.style.transform = 'translateX(' + translatex + 'px)'

        }, 150)

      },