瀑布流元件初探-Vue.js
waterfall-瀑布流元件
基於Vue.js的瀑布流元件
GitHub地址: https://github.com/watson-yan/waterfall
Demo地址: https://huayan.site/waterfall
瀑布流佈局的優點
瀑布流對於圖片的展現,是高效而具有吸引力的,使用者一眼掃過的快速閱讀模式可以在短時間內獲得更多的資訊量,而瀑布流裡懶載入模式又避免了使用者滑鼠點選的翻頁操作,瀑布流的主要特性便是錯落有致,定寬而不定高的設計讓頁面區別於傳統的矩陣式圖片佈局模式,巧妙的利用視覺層級,視線的任意流動又緩解了視覺疲勞,同時給人以不拘一格的感覺,切中年輕一族的個性化心理。國內類Pinterest網站也如雨後春筍般出現,已知網站超40家,類Pinterest網站有四種,一是電商導購,如想去網、蘑菇街和美麗說、好享說、依託於淘寶平臺;二是興趣圖譜分享,如知美、花瓣等;三是在細分垂直領域,如針對吃貨的零食控、針對家居行業的他部落等。四是服裝款式設計資訊平臺如看潮網等等。
瀑布流的分類:豎向瀑布流 和 橫向瀑布流
-
豎向瀑布流
圖片列表分為固定列,每個圖片或者容器的寬度相同,高度與寬度等比縮放(所以不同的比例圖片高度不一樣),如下圖所示:
-
橫向瀑布流:
圖片或者容器保持高度相同,每一行的顯示的圖片寬度之和等於頁面的寬度,高度與寬度等比縮放(所以不同的比例圖片寬度不一樣),但由於寬度不一定能滿足剛好佔滿一行,所以採取了切割圖片的做法, 如下圖所示:
How to use
作為瀑布流的一個嘗試,並沒有打包釋出,元件的原始碼在 ./src/components/Waterfall.vue中, 該�例子只是作為一個demo,具體可以根據使用場景在此基礎上做修改。
說明
此示例中需要後端傳回的資料包含圖片的尺寸資料,如果完全靠前端來計算圖片的寬和高,對網路和效能開銷比較大,我們專案的實際也是採用了後端傳回圖片的寬高來計算出在瀑布流中顯示的比例,保持圖片不變形。
Props
prop | type | description |
---|---|---|
list | Array | 圖片列表 |
row | Boolean | 是否橫向排列 |
column | Number | �如果不是橫向排列,column代表分為幾列(預設4列) |
height | Number | 如果是橫向排列, height為沒行應該佔得高度(預設225px) |
Build Setup
# install dependencies
npm install
# serve with hot reload at localhost:8080
npm run dev
# build for production with minification
npm run build
# build for production and view the bundle analyzer report
npm run build --report
For a detailed explanation on how things work, check out the guide and docs for vue-loader.
相關文章
- 原生 js 實現瀑布流佈局、React 版本的瀑布流佈局元件JSReact元件
- 【瀑布流】
- 淺談瀑布流
- vue實現瀑布流Vue
- flutter瀑布流佈局Flutter
- css實現瀑布流CSS
- 卡片瀑布流實現
- 瀑布流簡單實現
- 【PM】關於敏捷,瀑布流,文件敏捷
- jQuery實現瀑布流佈局jQuery
- CSS columns多列布局瀑布流CSS
- Bootstrap實戰 - 瀑布流佈局boot
- 淺析瀑布流佈局原理
- 瀑布流原來這麼簡單
- CSS3 column 瀑布流佈局CSSS3
- 記錄:瀑布流最佳實現方案
- 純CSS實現瀑布流,你會嗎?CSS
- Flutter Sliver你要的瀑布流小姐姐Flutter
- 易優CMS模板標籤artpagelist瀑布流
- CSS 例項系列 - 05 - Photo Album 瀑布流相簿CSS
- 一套Flutter混排瀑布流解決方案Flutter
- 說說 Vue.js 元件Vue.js元件
- vue.js元件開發Vue.js元件
- vue3 瀑布流 vue-masonry使用方法Vue
- 在鴻蒙中實現類似瀑布流效果鴻蒙
- Vue.js子元件向父元件通訊Vue.js元件
- Vue.js 動態元件與非同步元件Vue.js元件非同步
- React高階元件初探(1)React元件
- ComfyUI 實戰:初探工作流UI
- 時間軸元件 by Vue.js元件Vue.js
- 淺嘗Vue.js元件(二)Vue.js元件
- 深入理解vue.js——元件Vue.js元件
- Vue.js 動態元件使用Vue.js元件
- Node JS爬蟲:爬取瀑布流網頁高清圖JS爬蟲網頁
- ByRecyclerView:真·萬能分割線 (線性/宮格/瀑布流)View
- 談談實現瀑布流佈局的幾種思路
- 短視訊app開發,Flutter StaggeredGridView的瀑布流效果APPFlutterView
- Flutter 瀑布流如何仿寫原生的複用機制?Flutter
- 動態Vue.js佈局元件Vue.js元件