瀑布流的實現(xiàn)思路

瀑布流,將相同寬度,高度不等的元素(大多時候是圖片),整齊平整的呈現(xiàn)在用戶眼前,因為每個元素的高度不同,如果使用浮動,將會出現(xiàn)一大塊空隙,如下圖:


Paste_Image.png

瀑布流的實現(xiàn)思路

  1. 我們首先是知道瀏覽器的寬度的,我們可以用JQ里面的$(window).width( )獲取瀏覽器的寬度,由于每個元素的寬度是固定的,我們用“瀏覽器的寬度”/“元素的寬度”,得到在當前瀏覽器寬度下,可以平鋪多少列的元素,即元素的列數(shù)。
  2. 之后我們創(chuàng)建一個空數(shù)據(jù),arr=[],數(shù)組中放置跟列數(shù)相同的元素。
for(var i=0;i<列數(shù).length;i++){
    arr.push(0)
}

數(shù)組里面的數(shù)代表著這一列的總高度。一開始并沒放元素下去,所以我們設(shè)置全部為0;
3.我們遍歷所有數(shù)據(jù),選出數(shù)組中的最小值并獲取它的下標數(shù);將圖片放在這一列的下面,并更新高度,

top=arr[min];
left=min*元素寬度;//設(shè)置元素的位置
列高度=原列高度+top;

[瀑布流例子](http://book.jirengu.com/jirengu-inc/jrg-renwu4/member/%E9%99%86%E6%97%B8%E5%97%A3/%E7%80%91%E5%B8%83%E6%B5%81/%E7%80%91%E5%B8%83%E6%B5%81.html)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽?zāi)J的外補...
    _Yfling閱讀 14,137評論 1 92
  • <a name='html'>HTML</a> Doctype作用?標準模式與兼容模式各有什么區(qū)別? (1)、<...
    clark124閱讀 3,826評論 1 19
  • html結(jié)構(gòu) (Emmet) (div.box>div.pic>img[src="images/$.jpg"])*...
    LaBaby_閱讀 738評論 0 0
  • 很多厲害的人,往往比常人要努力的多。比如《浪潮之巔》的作者吳軍,除了每天在《得到》專欄里發(fā)一篇文章,還有投資、講學...
    耗子吳閱讀 435評論 0 0
  • iOS10下程序調(diào)用相冊和相機時莫名的崩掉了,這個問題網(wǎng)上也有很多帖子,解決的辦法都是一致的,自己也整理了一下,算...
    Always_on閱讀 348評論 0 0

友情鏈接更多精彩內(nèi)容