最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue.js+cube-ui(Scroll組件)實(shí)現(xiàn)類似頭條效果的橫向滾動(dòng)導(dǎo)航條

 更新時(shí)間:2019年06月24日 08:41:49   作者:Frank丶HQ  
這篇文章主要介紹了Vue.js+cube-ui(Scroll組件)實(shí)現(xiàn)類似頭條效果的橫向滾動(dòng)導(dǎo)航條,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下

本博主在一次個(gè)人移動(dòng)端項(xiàng)目中,遇到這么一個(gè)需求:希望自己的項(xiàng)目中,頭部導(dǎo)航條的效果可以像今日頭條那樣,橫向滾動(dòng)!

對(duì)于這樣的效果,在各大移動(dòng)端項(xiàng)目中幾乎是隨處可見,為什么呢?

       我們都知道,對(duì)于移動(dòng)端也就是手機(jī)上,我們頁面的寬度并不像PC端那樣大,可以顯示很長(zhǎng)的導(dǎo)航項(xiàng),但對(duì)于我們移動(dòng)端來說,由于功能的拓展,或者業(yè)務(wù)的細(xì)分,往往導(dǎo)航項(xiàng)也會(huì)隨之增多,一旦超過移動(dòng)端在一行的頁面顯示寬度,那便會(huì)出現(xiàn)導(dǎo)航項(xiàng)換行的現(xiàn)象,雖說也有這樣布局,但一旦導(dǎo)航項(xiàng)增多到一定程度的時(shí)候,我們的頁面(首頁)將均被導(dǎo)航項(xiàng)霸占,這樣不僅影響重點(diǎn)內(nèi)容的展示同時(shí)對(duì)用戶的體驗(yàn)度也有很大程度的影響!所以,為了解決這相關(guān)問題,出現(xiàn)了橫向滾動(dòng)條,主要有幾點(diǎn)好處:

•毫無疑問的一點(diǎn),用戶體驗(yàn)好:用戶可以根據(jù)自己的需要,滑動(dòng)導(dǎo)航的方式選擇自己的方式
•便于管理與維護(hù)
•使得頁面變得更為美觀
•突出主體業(yè)務(wù)

那么這么一個(gè)用戶體驗(yàn)好,然后又實(shí)用的效果是怎么實(shí)現(xiàn)的呢?

為了堅(jiān)持“不重復(fù)造輪子,在理解研究輪子的基礎(chǔ)上進(jìn)行改革創(chuàng)新”的原則,我選擇了滴滴團(tuán)隊(duì)的開源框架 —— cube-ui

  cube-ui 框架的官方文檔地址:https://didi.github.io/cube-ui/#/zh-CN/docs/introduction

  在開始實(shí)現(xiàn)之前,本博主也是踩了不少坑啊,吐槽就不說了,說多了都是淚?。∠旅孢M(jìn)入主題:

  cube-ui 所提供的組件中,有個(gè) Scroll 的組件,是一個(gè)基于better-scroll進(jìn)行封裝的組件.其實(shí)現(xiàn)原理我就不過多贅述了,去看了文檔或者平時(shí)弄過相關(guān)效果的大家都知道.

  大概的一個(gè) HTML 結(jié)構(gòu)就是:一個(gè)大的盒子套了兩個(gè)小盒子,一個(gè)是滾動(dòng)導(dǎo)航,另一個(gè)是額外拓展(對(duì)本效果不影響,可以忽略)

 <div class="nav-scroll-list-wrap">
   <cube-scroll ref="navScroll" direction="horizontal">
     <ul class="nav-wrapper">
      <li v-for="(item, index) in labels" :key="index" class="nav-item">{{ item }}</li>
     </ul>
   </cube-scroll>
   <div class="search-icon">
     <span class="iconfont icon">&#xe628;</span>
   </div>
 </div>

  這里說下 labels 是我傳入的導(dǎo)航項(xiàng)數(shù)據(jù),是一個(gè)本地 mock 數(shù)據(jù),共八項(xiàng)

  樣式部分:這里是實(shí)現(xiàn)的重點(diǎn)!因?yàn)閷?duì)于 Scroll 組件,內(nèi)容元素.cube-scroll-content在滾動(dòng)方向上的長(zhǎng)度必須大于容器元素,分為縱向滾動(dòng)和橫向滾動(dòng),這里實(shí)現(xiàn)的是橫向滾動(dòng),縱向的原理也是大同小異,取決于滾動(dòng)的方向采取不同的樣式.

 .nav-scroll-list-wrap
   position relative
   padding-right 120px

  大盒子部分的樣式對(duì)于該需求幾乎無影響,這里主要是想說下,設(shè)置為相對(duì)定位,是為了子元素的定位,子絕父相,而內(nèi)邊距是為了騰出一部分位置給采用絕對(duì)定位的子元素(搜索圖標(biāo)),同時(shí)這也是一個(gè)布局技巧和滾動(dòng)的關(guān)鍵,為什么這么說呢?

  首先,布局技巧:可以騰出一部分位置給拓展功能項(xiàng)用,其次可以解決拓展功能項(xiàng)因?yàn)樵黾?z-index 而將滾動(dòng)的最后一個(gè)導(dǎo)航項(xiàng)遮擋住的問題;

  滾動(dòng)的關(guān)鍵:假如沒有這個(gè)內(nèi)邊距,那么我八個(gè)導(dǎo)航項(xiàng)根據(jù)其占據(jù)的寬度將不能大于容器元素,從而出現(xiàn)無法滾動(dòng)的現(xiàn)象,而這個(gè)內(nèi)邊距的出現(xiàn)正好是可以減小容器元素的寬度,那么只要導(dǎo)航項(xiàng)足夠且不少的情況下是可以實(shí)現(xiàn)內(nèi)容元素在滾動(dòng)方向上的長(zhǎng)度大于容器元素的,但如果在項(xiàng)目初期,導(dǎo)航項(xiàng)過少,只有四五個(gè)的情況下不建議使用這個(gè)方法,這種情況一般都是采取傳統(tǒng)的解決方法:在傳入數(shù)組導(dǎo)航的長(zhǎng)度基礎(chǔ)上乘以一個(gè)數(shù)值來動(dòng)態(tài)增加內(nèi)容元素的寬度,具體做法:

<cube-scroll ref="navScroll" direction="horizontal">
   <ul class="nav-wrapper" :style="{width:navWidth+'px'}">
     <li v-for="(item, index) in navTxts" :key="index" class="nav-item">{{ item }}</li>
   </ul>
 </cube-scroll>

 methods: {
   widthComputed() {
    this.navWidth=this.navTxts.length*520
   }
  },
  created() {
   this.widthComputed()
  }

  其余樣式:基本在官方的文檔中均有說明,我改動(dòng)了部分,具體的我就不過多贅述了

 .cube-scroll-content
    display inline-block
    .nav-wrapper
     display inline-block
     white-space nowrap
     line-height 80px
     .nav-item
      display: inline-block
      padding: 0 30px
      font-size 40px

總結(jié)

以上所述是小編給大家介紹的Vue.js+cube-ui(Scroll組件)實(shí)現(xiàn)類似頭條效果的橫向滾動(dòng)導(dǎo)航條,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!

相關(guān)文章

  • vue+element-ui+axios實(shí)現(xiàn)圖片上傳

    vue+element-ui+axios實(shí)現(xiàn)圖片上傳

    這篇文章主要為大家詳細(xì)介紹了vue+element-ui+axios實(shí)現(xiàn)圖片上傳,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • vue使用Element組件時(shí)v-for循環(huán)里的表單項(xiàng)驗(yàn)證方法

    vue使用Element組件時(shí)v-for循環(huán)里的表單項(xiàng)驗(yàn)證方法

    這篇文章主要介紹了vue使用Element組件時(shí)v-for循環(huán)里的表單項(xiàng)驗(yàn)證方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-06-06
  • Vue使用exceljs導(dǎo)出excel文件的詳細(xì)教程

    Vue使用exceljs導(dǎo)出excel文件的詳細(xì)教程

    這篇文章主要為大家詳細(xì)介紹了Vue如何使用exceljs導(dǎo)出excel文件的詳細(xì)教程,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-03-03
  • Vue.js與Flask/Django后端配合方式

    Vue.js與Flask/Django后端配合方式

    在現(xiàn)代Web開發(fā)中,Vue.js與Flask或Django配合使用,實(shí)現(xiàn)前后端分離,提高開發(fā)效率和應(yīng)用性能,本文介紹了整合Vue.js和Flask/Django的步驟,包括環(huán)境搭建、API編寫、項(xiàng)目配置,以及生產(chǎn)部署,此架構(gòu)不僅加快了開發(fā)進(jìn)程,還提高了項(xiàng)目的可維護(hù)性和可擴(kuò)展性
    2024-09-09
  • vue里的data要用return返回的原因淺析

    vue里的data要用return返回的原因淺析

    這篇文章主要介紹了vue里的data要用return返回的原因淺析,需要的朋友可以參考下
    2019-05-05
  • 快速解決vue動(dòng)態(tài)綁定多個(gè)class的官方實(shí)例語法無效的問題

    快速解決vue動(dòng)態(tài)綁定多個(gè)class的官方實(shí)例語法無效的問題

    今天小編就為大家分享一篇快速解決vue動(dòng)態(tài)綁定多個(gè)class的官方實(shí)例語法無效的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • Vue3 框架Arco Design詳解

    Vue3 框架Arco Design詳解

    Arco Design 作為一款專為 Vue3 打造的企業(yè)級(jí) UI 組件庫(kù),以其豐富的特性和卓越的性能,成為現(xiàn)代 Web 應(yīng)用開發(fā)者值得關(guān)注的選擇,這篇文章主要介紹了Vue3 框架Arco Design詳解,需要的朋友可以參考下
    2024-08-08
  • 淺談vue中的data與_data的關(guān)系是什么

    淺談vue中的data與_data的關(guān)系是什么

    在Vue實(shí)例中,data屬性是用戶定義的用于存儲(chǔ)數(shù)據(jù)的對(duì)象,而_data是Vue內(nèi)部用于存儲(chǔ)數(shù)據(jù)的對(duì)象,本文主要介紹了淺談vue中的data與_data的關(guān)系是什么,感興趣的可以了解一下
    2023-12-12
  • vue使用less報(bào)錯(cuò):Inline JavaScript is not enabled問題

    vue使用less報(bào)錯(cuò):Inline JavaScript is not ena

    這篇文章主要介紹了vue使用less報(bào)錯(cuò):Inline JavaScript is not enabled問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • Vue之常用的內(nèi)置指令詳解

    Vue之常用的內(nèi)置指令詳解

    這篇文章主要為大家介紹了Vue之常用的內(nèi)置指令,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-11-11

最新評(píng)論

德化县| 斗六市| 九寨沟县| 夏津县| 屯门区| 琼结县| 龙里县| 巴塘县| 弋阳县| 宁晋县| 丰顺县| 横山县| 乡城县| 曲阳县| 奉新县| 沧源| 康乐县| 吉安市| 花莲县| 邳州市| 五常市| 武义县| 克山县| 襄城县| 大冶市| 伊川县| 榆树市| 军事| 仁化县| 平潭县| 周口市| 衡水市| 彰化市| 阳西县| 大宁县| 仪陇县| 永清县| 泌阳县| 措美县| 青龙| 呼伦贝尔市|