瀑布流布局的原理是什么?
针对等宽不等高的元素进行瀑布流布局,其中每个子元素都是针对父容器进行绝对定位 (由 js 计算出每个子元素的 top 和 left)
步骤
- 计算当前的浏览器窗口,能够放下多少列元素,获得列数
- 创建一个长度为列数的数组,数组的内容用于记录每一个内容列的当前高度,这个高度初始设为0
-
left : nodeWidth * idx
,top : minColumnHeight
- 放入元素后,更新所在内容列的高度,再写入数组中
针对等宽不等高的元素进行瀑布流布局,其中每个子元素都是针对父容器进行绝对定位 (由 js 计算出每个子元素的 top 和 left)
left : nodeWidth * idx
,top : minColumnHeight