久久99久久人婷婷精品综合_超碰aⅴ人人做人人爽欧美_亚洲电影第三页_日韩欧美一中文字暮专区_波多野结衣的一区二区三区_婷婷在线播放_人人视频精品_国产精品日韩精品欧美精品_亚洲免费黄色_欧美性猛交xxxxxxxx

網頁設計中的瀑布流式布局

2024-01-08    分類: 網站建設

如果你經常網上沖浪,這樣參差不齊的多欄布局,是不是很眼熟啊?

類似的布局,似乎一夜之間出現在國內外大大小小的網站上,比如 Pinterest (貌似是最早使用這種布局的網站了),Mark之,蘑菇街,點點網,以及淘寶最新上線的“哇哦” 等等,倒是很流行哈~ 在淘寶即將上線的眾多產品中,你還會大量看到這樣的形式呢。

這種布局適合于小數據塊,每個數據塊內容相近且沒有側重。通常,隨著頁面滾動條向下滾動,這種布局還會不斷加載數據塊并附加至當前尾部。所以,我們給這樣的布局起了一個形象的名字 — 瀑布流式布局。

幾種實現方式

隨著越來越多設計師愛用這種布局,我們作為前端,要盡可能滿足視覺/交互設計師的需求。所以,我們整理了下這種布局的幾種實現方式,有三種:

1) 傳統多列浮動。即 蘑菇街和哇哦 采用的方式:

各列固定寬度,并且左浮動;

一列中的數據塊為一組,列中的每個數據塊依次排列即可;

更多數據加載時,需要分別插入到不同的列上;

線上例子。

優點:

布局簡單,應該說沒啥特別的難點;

不用明確知道數據塊高度,當數據塊中有圖片時,就不需要指定圖片高度。

缺點:

列數固定,擴展不易,當瀏覽器窗口大小變化時,只能固定的x列,如果要添加一列,很難調整數據塊的排列;

滾動加載更多數據時,還要指定插入到第幾列中,還是不方便。

2) CSS3 定義。W3C 中有講述關于多列布局的文檔,排列出來的樣子:

由 chrome/ff 瀏覽器直接渲染出來,可以指定容器的列個數,列間距,列中間邊框,列寬度來實現;

column-count 為列數; column-gap 為每列間隔距離; column-rule 為間隔邊線大小; column-width 為每列寬度; 當只設置 column-width 時,瀏覽器窗口小于一列寬度時,列中內容自動隱藏; 當只設置 column-count 時,平均計算每列寬度,列內內容超出則隱藏; 都設了 column-count 和column-width,瀏覽器會根據 count 計算寬度和 width 比較,取大的那個值作為每列寬度,然后當窗口縮小時,width 的值為每列最小寬度。這邊其實很簡單,簡易自己嘗試下,詳細可參考 https://developer.mozilla.org/en/CSS3_Columns 中的說明。 a jQuery16108010429281727349="9">

線上例子。

優點:

直接 CSS 定義,最方便了;

擴展方便,直接往容器里添加內容即可。

缺點:

只有高級瀏覽器中才能使用;

還有一個缺點,他的數據塊排列是從上到下排列到一定高度后,再把剩余元素依次添加到下一列,這個本質上就不一樣了;

鑒于這兩個主要缺點,注定了該方法只能局限于高端瀏覽器,而且,更適合于文字多欄排列。

3) 絕對定位。即 Pinterest ,Mark之,KISSY 采用的方式:

可謂是最優的一種方案,方便添加數據內容,窗口變化,列數/數據塊都會自動調整;

線上例子。

缺點:

需要實現知道數據塊高度,如果其中包含圖片,需要知道圖片高度;

JS 動態計算數據塊位置,當窗口縮放頻繁,可能會狂耗性能。

KISSY.Waterfall 實現思路

KISSY 的 Waterfall 組件主要包含兩個部分,一個是對現有數據塊進行排列計算各自所在的位置; 二是下拉滾動時,觸發加載數據操作,并把數據添加到目標容器中。

1) 數據塊排列,算法步驟簡述下:

初始化時,對容器中已有數據塊元素進行第一次計算,需要用戶給定: a,容器元素 — 以此獲取容器總寬度; b,列寬度; c,最小列數; 最終列數取的是容器寬度/列寬度和最小列數的大值,這樣保證了,當窗口很小時,仍然出現最小列數的數據;

獲得列數后,需要保存每個列的當前高度,這樣在添加每個數據塊時,才知道起始高度是多少;

依次取容器中的所有數據塊,先尋找當前高度最小的某列,之后根據列序號,確定數據塊的left,top值,left 為所在列的序號乘以列寬,top 為所在列的當前高度,最后更新所在列的當前高度加上這個數據塊元素的高度,至此,插入一個元素結束;

當所有元素插入完畢后,調整容器的高度為各列大的高度值,結束依次調整;

性能效率上的注意點: a,如果當前正在調整中,又觸發了 resize 事件,需要將上次調整暫停后執行這次調整(見 timedChunk 函數); b,resize 觸發會很頻繁,可以將回調函數緩存一段時候后執行,即當這段時間內多次觸發了resize事件,但回調函數只會執行一次(見 S.buffer 函數)

感興趣的可以參見源碼。

2) 異步加載數據,前面講的是如何對容器中已有元素進行排列,但很多情況下,還需要不斷加載新數據塊,為此專門設計了一個獨立的模塊 KISSY.Waterfall.Loader,其實這個功能就更簡單了,僅包含兩個步驟:

綁定滾動事件,并確定預加載線高度值,即滾動到哪個高度后,需要去加載數據,其實這個就是列的最小高度值,這樣當前滾動值和最小高度值比較一下即可判斷出來,是否要觸發加載數據;

加載數據,為了不對數據源做太多限制,完全由使用者自己決定數據源從哪邊獲取和其格式,這樣更好的方便用戶使用。為此,該組件只提供一個load(success,end) 接口,怎樣load 由用戶自己去定義,而其中的 success/end,分別給出如何添加新數據(suceess 即同 addItems)/如何停止加載的接口。這樣真是太方便了~~

感興趣的可以參見源碼。

KISSY.Waterfall 示例和文檔

看到這邊,是不是很想試用一下~~ 嗯嗯,這里給出一些相關學習資料和示例,以供參考:

Waterfall API 文檔,相關構造器,配置項,方法都在這里;

示例,包含靜態和動態兩種。

歡迎試用和提出意見~~

原文:http://ued.taobao.com/blog/2011/09/14/waterfall/

#container { -webkit-column-count: 5; /*-webkit-column-gap: 10px; -webkit-column-rule: 5px solid #333; -webkit-column-width: 210px;*/ -moz-column-count: 5; /*-moz-column-gap: 20px; -moz-column-rule: 5px solid #333; -moz-column-width: 210px;*/ column-count: 5; /*column-gap: 10px; column-rule: 5px solid #333; column-width: 210px;*/ }

本文來源于成都網站建設公司與成都網站設計制作公司-創新互聯成都公司!

網頁標題:網頁設計中的瀑布流式布局
標題來源:http://www.js-pz168.com/news7/312657.html

成都網站建設公司_創新互聯,為您提供網站營銷商城網站ChatGPT營銷型網站建設網站收錄微信小程序

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都app開發公司
久久99久久人婷婷精品综合_超碰aⅴ人人做人人爽欧美_亚洲电影第三页_日韩欧美一中文字暮专区_波多野结衣的一区二区三区_婷婷在线播放_人人视频精品_国产精品日韩精品欧美精品_亚洲免费黄色_欧美性猛交xxxxxxxx
国内精品第一页| 国产精品视频一区二区三区经| 国产精品v欧美精品∨日韩| 天堂精品视频| 日韩一区二区三区四区五区六区| 国产精品麻豆网站| 另类小说欧美激情| 成人蜜桃视频| 91福利视频网站| 国产欧美日产一区| 免费观看一级特黄欧美大片| 91片在线免费观看| 一区不卡字幕| 久久久91精品国产一区二区三区| 亚欧色一区w666天堂| av在线播放不卡| 一本久道久久综合狠狠爱亚洲精品| 精品区一区二区| 亚洲电影在线免费观看| 99九九99九九九视频精品| 亚洲高清视频一区二区| 精品播放一区二区| 日韩av电影一区| 国产精品久久精品国产| 欧美三级一区二区| 亚洲欧美日韩精品久久久久| 激情成人综合网| 欧美成ee人免费视频| 欧美一区二区视频观看视频| 一区二区三区欧美视频| 成人黄色在线网站| 在线免费观看成人网| 国产精品污污网站在线观看| 九一九一国产精品| 欧美高清视频一区| 精品国产精品网麻豆系列| 石原莉奈在线亚洲二区| 国产精品视频免费观看| 欧美一区二区三区免费视频 | 精品视频免费在线| 亚洲美女淫视频| jizz一区二区| 欧美色男人天堂| 一区二区高清视频在线观看| 99re热这里只有精品免费视频| 日本乱码高清不卡字幕| 亚洲欧洲综合另类| 97久久超碰国产精品| 欧美日韩一卡二卡三卡| 一区二区成人在线观看| 97久久人人超碰caoprom欧美| 欧美三级在线视频| 亚洲成人自拍偷拍| 精品久久久久久乱码天堂| 欧美成人激情免费网| 青草国产精品久久久久久| 欧美成人第一区| 国产亚洲综合色| 国产不卡在线视频| 在线观看91视频| 亚洲国产成人91porn| 国内精品视频免费| 久久夜色精品国产噜噜av| 国产一区激情在线| 色婷婷精品大视频在线蜜桃视频| 亚洲欧美二区三区| 国产伦精品一区二区三区| 精品粉嫩aⅴ一区二区三区四区| 久久成人免费网| 中文字幕剧情在线观看一区| 亚洲欧美一区二区三区极速播放| 91久久精品国产91久久性色tv| 91精品国产日韩91久久久久久| 蜜臀av一区二区在线免费观看| 日韩欧美99| 亚洲狠狠丁香婷婷综合久久久| 都市激情久久久久久久久久久| 欧美成人性战久久| 国产成人午夜精品影院观看视频| 欧美性猛交xxxx乱大交退制版| 亚洲午夜久久久久中文字幕久| 久久人人九九| 亚洲欧洲一区二区在线播放| 91九色蝌蚪嫩草| 久久久久久久久久久久电影| 成人a级免费电影| 日韩一二三四区| 国产激情视频一区二区三区欧美| 欧美日韩国产小视频| 蜜臀av国产精品久久久久| 在线视频亚洲自拍| 天天影视涩香欲综合网| 亚洲精品在线免费看| 亚洲一区二区av电影| 欧美亚州在线观看| 亚洲黄色性网站| 日本一区二区三区视频在线播放| 亚洲女女做受ⅹxx高潮| 欧美极品色图| 亚洲精品国产a久久久久久| 免费看成人午夜电影| 亚洲老司机在线| 日韩免费电影一区二区| 亚洲图片自拍偷拍| 一区二区精品在线| 日本欧美在线看| 欧美图区在线视频| 国产综合久久久久久鬼色| 欧美巨大另类极品videosbest| 国产一区日韩二区欧美三区| 9191精品国产综合久久久久久| 国产一区二区三区久久悠悠色av| 欧美精品在线一区二区三区| 国产精品一区二区在线播放| 日韩视频在线你懂得| 成人中文字幕在线| 久久蜜桃av一区精品变态类天堂| 99re在线| 亚洲素人一区二区| 色一情一乱一伦一区二区三区丨| 亚洲va中文字幕| 欧美性生活大片视频| 国产成人在线网站| 久久综合九色综合欧美98| 国产精品大全| 一区二区三区视频在线看| 一区二区成人国产精品 | 亚洲女与黑人做爰| 天堂一区二区三区| 蜜臀久久99精品久久久久久9| 欧美日韩综合一区| 丁香婷婷综合五月| 日本一区二区免费在线观看视频 | 天堂一区二区在线| 欧美日韩一区视频| 懂色av一区二区三区免费观看| 久久亚洲一区二区三区明星换脸| 成人国产1314www色视频| 亚洲美女免费在线| 色综合欧美在线视频区| 国产在线不卡一区| 久久久蜜桃精品| 美女被啪啪一区二区| 视频一区二区中文字幕| 欧美精品九九99久久| 91高跟黑色丝袜呻吟在线观看| 亚洲视频在线观看三级| 制服国产精品| 国产91精品免费| 中文字幕在线观看一区| 亚洲一区在线直播| 国产成人亚洲精品狼色在线| 欧美极品aⅴ影院| 香蕉久久免费影视| 国产精品白丝av| 国产精品三级av| 亚洲亚洲精品三区日韩精品在线视频| 久久狠狠亚洲综合| 久久久蜜桃精品| 四虎永久国产精品| 国产一区二区0| 中文字幕欧美日韩一区| 亚洲在线不卡| 成人开心网精品视频| 亚洲图片另类小说| 日本韩国一区二区| 99国产精品久久久久久久久久久| 亚洲女同女同女同女同女同69| 欧美亚洲动漫另类| a级国产乱理论片在线观看99| 亚洲国产精品久久久久婷婷884| 91精品国产福利| 久久久久无码国产精品一区| 蜜桃av一区二区三区电影| 久久久www成人免费无遮挡大片| 神马影院午夜我不卡影院| 国产成人午夜精品影院观看视频| 中文字幕一区二区不卡| 在线观看三级视频欧美| 3d精品h动漫啪啪一区二区| 亚洲aaa精品| 久久综合九色综合97婷婷女人| 午夜老司机精品| 成人sese在线| 香蕉久久夜色精品国产使用方法| 欧美α欧美αv大片| 亚洲 国产 日韩 综合一区| 丁香另类激情小说| 亚洲午夜久久久| 欧美精品一区男女天堂| 亚洲一区二区三区在线观看视频| 不卡高清视频专区| 婷婷夜色潮精品综合在线| 久久婷婷色综合| 日本精品裸体写真集在线观看| 成人综合电影| 国产一区福利在线| 一区二区三区高清在线| 亚洲精品一线二线三线| 色悠久久久久综合欧美99|