摘要:副卡只為最右測卡片適配問題適配問題涉及到了兩個卡片的接口數(shù)據(jù)全部讀完并渲染完成后,卡片完美呈現(xiàn),上的滑動也很流暢,但是當滑動的速度很快的時候,安卓上就有問題了,滑動速度過快會導致剛滑出來的卡片變成白板,卡片上的圖片和文字都不見了。
背景
項目需求,要實現(xiàn)卡片左右滑動的功能,類似這樣:
在實現(xiàn)過程中遇到了如下問題:
卡片角標實現(xiàn)
邊距問題
安卓手機適配問題
翻頁問題
角標實現(xiàn)角標及文字可以采用絕對定位和css3的rotate來實現(xiàn),注意點是在父元素上要overflow:hidden
.recomm-item-sup{ position: absolute; /*background-color: aquamarine;*/ color: #fff; font-size: 9px; height: 34px; width: 46px; line-height: 58px; left: 45px; top: -12px; -webkit-transform: rotate(45deg); transform: rotate(45deg); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }邊距問題
這一列卡片初始化時距離手機左邊是有一段距離的,但是整體可以滑動到手機最左側(cè),這一點卡了一點時間,其實就是給第一個卡片設(shè)一個margin-left而已;最后一個卡片距離手機最右側(cè)也有邊距,但這時候設(shè)置margin-right是無效的,此時最右測的卡片會緊貼著屏幕邊緣,我的解決辦法是在卡片的右側(cè)再寫一項卡片,設(shè)置這個卡片的寬度是1px,內(nèi)容為空,這時剛剛的margin-right就有效了。
適配問題涉及到了兩個:
1.卡片的接口數(shù)據(jù)全部讀完并渲染完成后,卡片完美呈現(xiàn),ios上的滑動也很流暢,但是當滑動的速度很快的時候,安卓上就有問題了,滑動速度過快會導致剛滑出來的卡片變成白板,卡片上的圖片和文字都不見了。原因是瀏覽器的渲染引擎太慢,解決辦法是給ul添加
transform: translate3d(0,0,0);
這一行代碼會觸發(fā)硬件加速,使用GPU來渲染頁面。速度再快也不會有問題了
2.由于采用了overflow:scoll,當卡片多出屏幕時可以滾動呈現(xiàn),但我們并不希望出現(xiàn)滾動條。在安卓上確實沒有,但ios上卻是有的??上У氖俏也]有看到有啥屬性可以設(shè)置滾動條不可見。
后來發(fā)現(xiàn)滾動條永遠在ul元素的最下面,基本貼在bottom上,所以解決辦法是:將ul的高度設(shè)高一點,使之超過里面li的高度和滾動條的高度,然后設(shè)置ul的父元素overflow:hidden來隱藏掉,OK。
效果類似輪播圖,只是需要在小卡片上進行上下輪播,這里采用的絕對定位+animation來實現(xiàn)的,需要注意的是分段時間的把控,在到達時間的20%的時候,就要到達bottom:0,至時間的50%,一直維持在bottom:0,造成一種靜止效果,然后再進行動畫滾動。
@-webkit-keyframes carouse{ 0%{bottom:-80px;} 20%{bottom:0} 50%{bottom:0} 75%{bottom:80px;} 100%{bottom:80px;} } .recomm-caro-item{ position: absolute; -webkit-animation:2.5s carouse infinite linear; width: 72px; height: 80px; left: 0; right: 0; bottom: -80px; background: #22ba66; border-radius: 5px; }
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/113189.html
摘要:此時需要判斷當前位置是否大于或者小于,若超過這個極限值需要重設(shè)目標位移及幀位移,使其在極限值內(nèi)。判斷第二次滑動是否與第一次不同方向,若不同向需重置上次幀位移為。以免上次幀位移太大影響移動方向。 本文由云+社區(qū)發(fā)表 最近的一個活動頁面需要做一個可以左右滑動的抽簽效果,故通過用css的transform屬性和js結(jié)合來模擬可以無限滾動的效果。 先上效果: showImg(https://s...
摘要:此時需要判斷當前位置是否大于或者小于,若超過這個極限值需要重設(shè)目標位移及幀位移,使其在極限值內(nèi)。判斷第二次滑動是否與第一次不同方向,若不同向需重置上次幀位移為。以免上次幀位移太大影響移動方向。 本文由云+社區(qū)發(fā)表 最近的一個活動頁面需要做一個可以左右滑動的抽簽效果,故通過用css的transform屬性和js結(jié)合來模擬可以無限滾動的效果。 先上效果: showImg(https://s...
摘要:此時需要判斷當前位置是否大于或者小于,若超過這個極限值需要重設(shè)目標位移及幀位移,使其在極限值內(nèi)。判斷第二次滑動是否與第一次不同方向,若不同向需重置上次幀位移為。以免上次幀位移太大影響移動方向。 本文由云+社區(qū)發(fā)表 最近的一個活動頁面需要做一個可以左右滑動的抽簽效果,故通過用css的transform屬性和js結(jié)合來模擬可以無限滾動的效果。 先上效果: demo地址:https://kir...
閱讀 3077·2021-11-11 16:55
閱讀 3222·2021-10-18 13:34
閱讀 605·2021-10-14 09:42
閱讀 1656·2021-09-03 10:30
閱讀 917·2021-08-05 10:02
閱讀 991·2019-08-30 11:27
閱讀 3500·2019-08-29 15:14
閱讀 1264·2019-08-29 13:02