瀑布流布局的原理

  • 瀑布流布局是宽度固定,高度随机,从上到下的布局方式

  • 父元素相对定位(relative),子元素绝对定位(absolute)且固定宽度。

  • 获取子元素宽度和浏览器宽度,以便计算当前浏览器宽度下可以放几列。即浏览器宽度/元素宽度

  • 建立一个数组,其值为每列子元素高度总和,初始值设为0

  • 遍历该数组得到最小值和其下标

  • 后一元素位置就在高度最小的那一列,其top为原高度,即当前最小高度left为宽度*下标

  • 重新计算该列的高度,再遍历找出最小高度,后一元素放在高度最小的那列,往后以此类推

  • 用函数包裹

  • 监听浏览器事件resize,当浏览器宽度有变化时,调用该函数

  • 在浏览器没有变化时要默认执行一次函数

版权归吴秀芳和饥人谷所有,若有转载,请注明来源

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • html结构 (Emmet)(div.box>div.pic>img[src="images/$.jpg"])*2...
    黎贝卡beka阅读 3,496评论 1 4
  • <a name='html'>HTML</a> Doctype作用?标准模式与兼容模式各有什么区别? (1)、<...
    clark124阅读 8,935评论 1 19
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,687评论 1 92
  • 指针摇曳,悠悠的指向12点钟,毫无睡意,回想刚刚散掉的聚会,似乎让未来的生活有了一条明路。说真的,这一辈子长也好,...
    子跞阅读 2,713评论 0 0
  • 第三批的老哥们也要到了,于是我们开始骑回我们预定的旅社。 全程十公里,加上使用导航找路线,我们花了一个小时。这里不...
    搞笑排行榜阅读 1,176评论 0 0