日常開(kāi)發(fā)中,我們經(jīng)常會(huì)遇到一些因?yàn)椴季窒拗贫鵁o(wú)法完全展示的內(nèi)容,這個(gè)時(shí)候,我們就需要讓內(nèi)容自己滾動(dòng)來(lái)解決這個(gè)問(wèn)題。
<script src="https://lf3-cdn-tos.bytescm.com/obj/cdn-static-resource/tt_player/tt.player.js?v=20160723"></script>
<div class="scroll-box">
<p class="scroll-content-item">
<!-- 此處可以放置需要滾動(dòng)的內(nèi)容-->
</p>
</div>
.scroll-box{
display: flex;
flex-direction: column;
width: 100%;
height: 150px;
overflow: hidden; /*當(dāng)內(nèi)容超過(guò),出現(xiàn)滾動(dòng)條*/
}
.scroll-content-item{
color: #FFFFFF;
font-size: 16px;
animation: run 15s 1s linear infinite;
}
.ns-title{
color: #33ffca;
font-size: 14px;
font-weight: bold;
}
.ns-content{
color: #FFFFFF;
font-size: 12px;
line-height: 35px;
font-weight: 400;
}
@keyframes run {
0% {
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}
20% {
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}
95% {
-webkit-transform: translate3d(0, -350px, 0);
transform: translate3d(0, -350px, 0);
}
100% {
-webkit-transform: translate3d(0, -350px, 0);
transform: translate3d(0, -350px, 0);
}
}
<!-- 創(chuàng)建外部展示容器 -->
<div class="scroll-box">
<p class="scroll-content-item">
<span class="ns-title">(一)查苗補(bǔ)種。</span>
<span class="ns-content"
>小麥出苗后要及時(shí)查苗,出現(xiàn)缺苗斷壟的地方,開(kāi)溝補(bǔ)種。</span
>
<br>
<span class="ns-title">(二)因地因苗適時(shí)鎮(zhèn)壓。</span>
<span class="ns-content"
>對(duì)于丘陵、山區(qū)部分播種偏早、播量偏大的冬前可能旺長(zhǎng)麥田,要及時(shí)進(jìn)行深中耕斷根或鎮(zhèn)壓,控旺轉(zhuǎn)壯。</span
>
<br>
<span class="ns-title">(三)化學(xué)除草及防控病蟲(chóng)。</span>
<span class="ns-content"
>要根據(jù)苗情、冬前氣溫情況和麥田草害發(fā)生種類,選準(zhǔn)對(duì)路農(nóng)藥,適時(shí)開(kāi)展化學(xué)除草。</span
>
<br>
<span class="ns-title">(四)看墑適時(shí)節(jié)水冬灌。</span>
<span class="ns-content"
>要根據(jù)天氣條件、整地質(zhì)量、小麥苗情和土壤墑情合理確定是否進(jìn)行冬灌。</span
>
<br>
<span class="ns-title">(五)科學(xué)防災(zāi)減災(zāi)。</span>
<span class="ns-content"
>由于今年晚播面積大,冬前弱苗占比高,要注意及早做好小麥防凍準(zhǔn)備,一旦凍害發(fā)生,要分苗情、分災(zāi)情、分區(qū)域及時(shí)采取早春追肥澆水等補(bǔ)救措施有效應(yīng)對(duì),把損失降到最低。
</span>
</p>
</div>
<style>
.scroll-box{
display: flex;
flex-direction: column;
width: 100%;
height: 150px;
overflow: hidden; /*當(dāng)內(nèi)容超過(guò),出現(xiàn)滾動(dòng)條*/
}
.scroll-content-item{
color: #FFFFFF;
font-size: 16px;
animation: run 15s 1s linear infinite;
}
.ns-title{
color: #33ffca;
font-size: 14px;
font-weight: bold;
}
.ns-content{
color: #FFFFFF;
font-size: 12px;
line-height: 35px;
font-weight: 400;
}
@keyframes run {
0% {
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}
20% {
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}
95% {
-webkit-transform: translate3d(0, -350px, 0);
transform: translate3d(0, -350px, 0);
}
100% {
-webkit-transform: translate3d(0, -350px, 0);
transform: translate3d(0, -350px, 0);
}
}
</style>
<script src="https://lf3-cdn-tos.bytescm.com/obj/cdn-static-resource/tt_player/tt.player.js?v=20160723"></script>
vue-seamless-scroll插件的使用教程在這里,注意區(qū)分vue2和Vue3版本
用js來(lái)實(shí)現(xiàn)。
html:
<div class="box"> <p class="animate"> 文字滾動(dòng)的內(nèi)容文字滾動(dòng)的內(nèi)容文字滾動(dòng)的內(nèi)容文字滾動(dòng)的內(nèi)容 </p> </div>
css:
、應(yīng)用場(chǎng)景
左側(cè)一個(gè)導(dǎo)航欄寬度固定,右側(cè)內(nèi)容根據(jù)用戶瀏覽器窗口寬度進(jìn)行自適應(yīng)
二、思路
首先把這個(gè)問(wèn)題分步解決,需要攻克以下兩點(diǎn):
1、讓兩個(gè)div并排到一行
2、讓一個(gè)div寬度固定,另個(gè)div占據(jù)剩下寬度的空間
關(guān)于第一點(diǎn),首先要明確,div屬于塊級(jí)元素,在文檔標(biāo)準(zhǔn)流中單獨(dú)占據(jù)一行。要想多個(gè)div在一行,就可以想辦法讓div脫離標(biāo)準(zhǔn)流,比如使用float或者absolute;
關(guān)于第二點(diǎn),首先有一個(gè)寬度固定的div,另外自適應(yīng)的div寬度是多少?首先這個(gè)寬度不能寫(xiě)“100%”,因?yàn)檫@里的100%是相對(duì)于第一個(gè)非靜態(tài)祖先元素的,也就是說(shuō)如果這樣寫(xiě),頁(yè)面會(huì)出現(xiàn)整個(gè)頁(yè)面寬度+左邊固定列寬度的情形。那么對(duì)自適應(yīng)寬度的div處理方法是不去設(shè)置它的width屬性,瀏覽器會(huì)自動(dòng)計(jì)算后讓它占一行,接下來(lái)給他設(shè)置margin-left屬性把左側(cè)固定列空間空出即可。
三、實(shí)現(xiàn)
1、html
2、css
注:
1、fixedColumn 里注釋的方法即絕對(duì)定位的實(shí)現(xiàn)方式,取消注釋后把float那句注釋掉,可以實(shí)現(xiàn)相同的效果
2、使用float需要注意清除浮動(dòng)造成父元素塌陷的問(wèn)題(這里不用清除,因?yàn)樽赃m應(yīng)列和固定列一樣高,在標(biāo)準(zhǔn)流中可以撐起父元素)
四、擴(kuò)展
如果把上面的問(wèn)題稍微改變一下,要求展示一個(gè)左中右布局,而且左右固定,中間自適應(yīng),這要如何實(shí)現(xiàn)呢?
估計(jì)很多人會(huì)這樣想:
css中.flexibleColumn樣式添加一個(gè)屬性:margin-right: 40px;
html中再追加一個(gè)固定列,在右側(cè)浮動(dòng):
<div class="fixedColumn" style="float: right;"></div>
然后運(yùn)行的效果是...左中布局,右邊空白,瀏覽器出現(xiàn)滾動(dòng)條,右固定列換行后右浮動(dòng)了。
然后我們做一個(gè)小小的改動(dòng)——把剛才添加的右浮動(dòng)固定列的dom放到自適應(yīng)列前面,也就是說(shuō)html的dom順序是左浮動(dòng),右浮動(dòng),自適應(yīng)的順序!html如下:
效果就“神奇”的實(shí)現(xiàn)了~
這里一個(gè)注意點(diǎn)就是:浮動(dòng)元素在dom中要在非浮動(dòng)元素的前面,否則非浮動(dòng)元素后面的浮動(dòng)元素會(huì)換行。
具體原理待研究..網(wǎng)上好像沒(méi)查到,有誰(shuí)知道的話希望告知~
總結(jié):一定要自己實(shí)現(xiàn)試試,注意只有固定列脫離了文檔流,自適應(yīng)列還在文檔流中!其他沒(méi)什么要說(shuō)的了,但是應(yīng)該還有更好的方法,等我看到了一并總結(jié)過(guò)來(lái)~
想要學(xué)習(xí)更多的編程技術(shù),不如選擇重慶IT培訓(xùn),千鋒重慶100%面授式課程,拒絕視頻同步授課,拒絕雙元視頻班教學(xué),拒絕直播授課,教師一對(duì)一指導(dǎo)學(xué)員做項(xiàng)目,全新打造“主流技術(shù)+前沿技術(shù)+企業(yè)級(jí)聯(lián)動(dòng)”教學(xué)課程,重新優(yōu)化和定義編程語(yǔ)言,采用最新版本技術(shù)開(kāi)展教學(xué),致力于為學(xué)員打造最牛的、最新的技術(shù),助力學(xué)員拿下BAT級(jí)企業(yè)Offer。
千鋒重慶IT技術(shù)開(kāi)發(fā)培訓(xùn),讓你在同樣的起跑線,跑出不一樣的高度。
*請(qǐng)認(rèn)真填寫(xiě)需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。