css3實(shí)現(xiàn)文字首尾銜接跑馬燈的示例代碼

故事背景
事情是這樣的,鹵煮無(wú)意間得知一款外放效果宇宙無(wú)敵第一的手機(jī)?。?!腦袋一熱就趁著阿東618大促搞了一臺(tái),畢竟鹵煮是一個(gè)地道的電子發(fā)燒友?。?!但是當(dāng)鹵煮查詢物流信息的時(shí)候。。。。。。
好吧,我這該死的探索欲,被這突兀的跑馬燈吸引住了目光(ca,今天看樣子是收不到貨了!?。。?/p>
那就說(shuō)說(shuō)怎么實(shí)現(xiàn)它吧(這個(gè)梗接的就是這么硬)
效果圖
邏輯描述
p標(biāo)簽包含倆span標(biāo)簽(提示的文字),要兩個(gè)span,或者2個(gè)以上,p標(biāo)簽定位,改變p標(biāo)簽left值進(jìn)行運(yùn)動(dòng),運(yùn)動(dòng)到第一個(gè)span標(biāo)簽的結(jié)尾處,看圖?。?!當(dāng)?shù)诙€(gè)span到達(dá)起始位置時(shí),循環(huán)第二次運(yùn)動(dòng),剛好會(huì)無(wú)縫銜接上。
無(wú)論P(yáng)C還是移動(dòng)端,當(dāng)然了,走馬燈肯定移動(dòng)端出現(xiàn)居多。按設(shè)計(jì)稿來(lái),UI會(huì)給你span標(biāo)簽文字的具體寬度,那么:運(yùn)動(dòng)距離=span寬度+兩個(gè)span之間的留白-左邊紅色區(qū)域的left值
代碼實(shí)現(xiàn)
html部分:
<div id="app"> <div class="top"> <p> <span class="tips">由于大促期間訂單量激增,您的訂單送達(dá)時(shí)效可能出現(xiàn)延遲,請(qǐng)您耐心等待~</span> <span>由于大促期間訂單量激增,您的訂單送達(dá)時(shí)效可能出現(xiàn)延遲,請(qǐng)您耐心等待~</span> </p> </div> <div class="main"> <h6>然后這里放的就是鹵煮</h6> <h4>外放堪稱手機(jī)圈</h4> <h2>宇宙無(wú)敵第一</h2> <h6>小米10 Pro</h6> <h2>wo不接受爭(zhēng)辯</h2> <h3>·</h3> <h3>·</h3> <h3>·</h3> <h3>·</h3> </div> </div>
css部分:
.tips{ width: 560px; } p{ position: absolute; height: 34px; left: 34px; white-space: nowrap; display: flex; animation: move linear 12s infinite; animation-delay:3s; } @keyframes move { 0%{ left: 34px; } 100%{ left: -526px; } } /* 這里以下請(qǐng)忽略,重點(diǎn)在上面 */ *{margin: 0; padding: 0;} body,html{height: 100%;} #app{ height: 100%; background:#ececec; margin: 0 auto; display: flex; flex-direction: column; } .main{ flex: 1; } .top{ position: relative; overflow: hidden; height: 34px; background: #fff; } .top span{ 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,#f00 0%, #f00 60%, transparent 100%); } .top::after{ content: ""; position: absolute; right: 0; top: 0; height: 100%; width: 34px; z-index: 9; background-image: linear-gradient(-90deg,#f00 0%, #f00 60%, transparent 100%); } h1,h2,h3,h4,h5,h6{ margin: 20px auto; text-align: center; }
個(gè)人總結(jié)
鹵煮在項(xiàng)目中有涉及到跑馬燈,而且鹵煮項(xiàng)目中用的是一個(gè)比較偷懶的方法,就是利用marquee標(biāo)簽,這個(gè)就自帶跑馬燈效果好嘛!??!這個(gè)標(biāo)簽很強(qiáng)大,一個(gè)標(biāo)簽即可解決你寫(xiě)一大堆css或者js,那我繞這么一大圈干嘛?
首先,它不能實(shí)現(xiàn)我這種首尾銜接!??!
其次,官網(wǎng)關(guān)于這個(gè)標(biāo)簽的描述是這樣的: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.
咳咳~考慮到英語(yǔ)不好的童鞋,翻譯一下就是: 元素已經(jīng)過(guò)時(shí),請(qǐng)不要再使用。盡管一些瀏覽器仍然支持它,但它不是必須的。此外,使用這個(gè)元素基本上是你可以對(duì)你的用戶做最糟糕的事情之一,所以請(qǐng)不要這樣做。
所以,選擇鹵煮的吧。等等!當(dāng)屏幕寬度足以放下提示語(yǔ)的時(shí)候應(yīng)該不做運(yùn)動(dòng),這一點(diǎn)用js來(lái)控制,就當(dāng)作課下作業(yè)吧!
到此這篇關(guān)于css3實(shí)現(xiàn)文字首尾銜接跑馬燈的示例代碼的文章就介紹到這了,更多相關(guān)css3文字首尾銜接跑馬燈內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持腳本之家!
相關(guān)文章
結(jié)合 CSS3 transition transform 實(shí)現(xiàn)簡(jiǎn)單的跑馬燈效果的示例
這篇文章主要介紹了結(jié)合 CSS3 transition transform 實(shí)現(xiàn)簡(jiǎn)單的跑馬燈效果的示例的相關(guān)資料,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看2018-02-07