css3怎么实现文字首尾衔接跑马灯

本文将为大家详细介绍“css3怎么实现文字首尾衔接跑马灯”,内容步骤清晰详细,细节处理妥当,而小编每天都会更新不同的知识点,希望这篇“css3怎么实现文字首尾衔接跑马灯”能够给你意想不到的收获,请大家跟着小编的思路慢慢深入,具体内容如下,一起去收获新知识吧。

故事背景

事情是这样的,卤煮无意间得知一款外放效果宇宙无敌第一的手机!!!脑袋一热就趁着阿东618大促搞了一台,毕竟卤煮是一个地道的电子发烧友!!!但是当卤煮查询物流信息的时候。。。。。。

css3怎么实现文字首尾衔接跑马灯

好吧,我这该死的探索欲,被这突兀的跑马灯吸引住了目光(ca,今天看样子是收不到货了!!!)

那就说说怎么实现它吧(这个梗接的就是这么硬)

效果图

css3怎么实现文字首尾衔接跑马灯

逻辑描述

p标签包含俩span标签(提示的文字),要两个span,或者2个以上,p标签定位,改变p标签left值进行运动,运动到第一个span标签的结尾处,看图!!!当第二个span到达起始位置时,循环第二次运动,刚好会无缝衔接上。

无论PC还是移动端,当然了,走马灯肯定移动端出现居多。按设计稿来,UI会给你span标签文字的具体宽度,那么:运动距离=span宽度+两个span之间的留白-左边红色区域的left值

css3怎么实现文字首尾衔接跑马灯

代码实现

html部分:

<divid="app">
<divclass="top">
<p>
<spanclass="tips">由于大促期间订单量激增,您的订单送达时效可能出现延迟,请您耐心等待~</span>
<span>由于大促期间订单量激增,您的订单送达时效可能出现延迟,请您耐心等待~</span>
</p>
</div>
<divclass="main">
<h7>然后这里放的就是卤煮</h7>
<h5>外放堪称手机圈</h5>
<h3>宇宙无敌第一</h3>
<h7>小米10Pro</h7>
<h3>wo不接受争辩</h3>
<h4>&middot;</h4>
<h4>&middot;</h4>
<h4>&middot;</h4>
<h4>&middot;</h4>
</div>
</div>

css部分:

.tips{
width:560px;
}
p{
position:absolute;
height:34px;
left:34px;
white-space:nowrap;
display:flex;
animation:movelinear12sinfinite;
animation-delay:3s;
}
@keyframesmove{
0%{left:34px;}
100%{left:-526px;}
}
/*这里以下请忽略,重点在上面*/
*{margin:0;padding:0;}
body,html{height:100%;}
#app{
height:100%;
background:#ececec;
margin:0auto;
display:flex;
flex-direction:column;
}
.main{
flex:1;
}
.top{
position:relative;
overflow:hidden;
height:34px;
background:#fff;
}
.topspan{
line-height:34px;
display:inline-block;
}
.top::before{
content:"";
position:absolute;
left:0;
top:0;
height:100%;
width:34px;
z-index:9;
background-image:linear-gradient(90deg,#f000%,#f0060%,transparent100%);
}
.top::after{
content:"";
position:absolute;
right:0;
top:0;
height:100%;
width:34px;
z-index:9;
background-image:linear-gradient(-90deg,#f000%,#f0060%,transparent100%);
}
h2,h3,h4,h5,h6,h7{
margin:20pxauto;
text-align:center;
}

个人总结

卤煮在项目中有涉及到跑马灯,而且卤煮项目中用的是一个比较偷懒的方法,就是利用marquee标签,这个就自带跑马灯效果好嘛!!!这个标签很强大,一个标签即可解决你写一大堆css或者js,那我绕这么一大圈干嘛?

首先,它不能实现我这种首尾衔接!!!

其次,官网关于这个标签的描述是这样的:This feature is obsolete. Although it may still work in some browsers, its use is discouraged since it could be removed at any time. Try to avoid using it.

咳咳~考虑到英语不好的童鞋,翻译一下就是: 元素已经过时,请不要再使用。尽管一些浏览器仍然支持它,但它不是必须的。此外,使用这个元素基本上是你可以对你的用户做最糟糕的事情之一,所以请不要这样做。

如果你能读到这里,小编希望你对“css3怎么实现文字首尾衔接跑马灯”这一关键问题有了从实践层面最深刻的体会,具体使用情况还需要大家自己动手实践使用过才能领会,如果想阅读更多相关内容的文章,欢迎关注恰卡编程网行业资讯频道!

发布于 2021-03-17 20:51:24
收藏
分享
海报
0 条评论
167
上一篇:Css3如何实现无缝滚动防抖 下一篇:css3使用transform出现字体模糊怎么办
目录

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码