一、問答
原理:
因為瀑布流的特點是等寬不等高,因此若直接float的話會造成上下間隙不一或過大,因此所有元素是通過計算后的位置再通過絕對定位往最短高度的一列下面塞,以此類推;具體實現:
計算出容器的width,通過單個元素的寬度(因為瀑布流的特點就是等寬不等高)計算出可以放多少列元素;
將每一列構成一個數組集合,數組里面的值即為每一列的累計高度;
遍歷存放元素的數組比較元素之間的高度,并篩選出最小高度的元素;
遍歷每個元素,并將元素依次絕對定位到數組中每列元素的累計高度之和值最小的下面,當次最小高度的列需要加上后面添加進去的元素的高度,這樣才是累計高度;