瀑布流的三种实现

先来欣赏三个瀑布流的网站

pinterest 

淘宝爱逛街 

蘑菇街

什么是瀑布流?

瀑布流,又称瀑布流式布局。

这种布局适合于小数据块,每个数据块内容相近且没有侧重。通常,随着页面滚动条向下滚动,这种布局还会不断加载数据块并附加至当前尾部。

瀑布流的三种实现方式

固定列宽的多列布局 示例代码

CSS3多列布局 示例代码

绝对定位方式  示例代码

固定列宽的多列布局

优点

布局简单,实现容易不用明确知道数据块高度,当数据块中有图片时,就不需要指定图片高度。

缺点

列数固定,扩展不易,当浏览器窗口大小变化时,只能固定的x列,如果要添加一列,很难调整数据块的排列;

滚动加载更多数据时,还要指定插入到第几列中,还是不方便.

CSS3多列布局

优点

直接 CSS 定义,最方便了扩展方便,直接往容器里添加内容即可

缺点

只有高级浏览器中才能使用;

还有一个缺点,他的数据块排列是从上到下排列到一定高度后,再把剩余元素依次添加到下一列,这个本质上就不一样了;

鉴于这两个主要缺点,注定了该方法只能局限于高端浏览器,而且,更适合于文字多栏排列。

浏览器对column-count属性的支持情况

瀑布流的三种实现_第1张图片

绝对定位方式

优点

最优的一种方案,方便添加数据内容,窗口变化,列数/数据块都会自动调整;

缺点

需要实现知道数据块高度,如果其中包含图片,需要知道图片高度;

JS 动态计算数据块位置,当窗口缩放频繁,可能会狂耗性能

常用的瀑布流插件

jQuery Masonry

Wookmark-jQuery

Isotope

使用方式

jQuery Masonry (MIT Licence)

瀑布流的三种实现_第2张图片

Wookmark-jQuery (MIT Licence)

瀑布流的三种实现_第3张图片

Isotope ( GPL v3 License)

瀑布流的三种实现_第4张图片

相关阅读

淘宝UED瀑布流布局浅析

慕课网瀑布流布局

css3-column w3chtml

你可能感兴趣的:(瀑布流的三种实现)