html 瀑布流 编辑 删除,HTML瀑布流操作

瀑布流操作

*{

margin:0;

padding:0;

}

#container{

width:1200px;

margin:auto;

/*background-color: black;*/

position:relative;

}

#container img{

width:188px;

}

.outer{

margin:5px;

padding:5px;

border:solid 1px #888;

border-radius: 5px;

width:188px;

position:absolute;

top:0;

transition:5s;

}

.box{

border:solid 1px #efefef;

overflow:hidden;

border-radius:5px;

}

//

//window.onload方式将是一个良好的选择。window.onload是一个事件,当文档内容完全加载完成会触发该事件。

//onresize 事件会在窗口或框架被调整大小时发生。

window.onresize = function(){

//获取网页中所有的图片容器

var _outers = document.getElementsByClassName("outer");

//获取网页展示内容区域的宽度

// var _client_width = document.getElementById("container").offsetWidth;

// ===========================================

// 获取宽度,自动更改列

var _cw = document.body.offsetWidth;

var _container = document.getElementById('container');

_container.style.width = _cw * 0.8 + "px";

var _client_width = _container.offsetWidth;

console.log(_client_width);

// ================================================

//获取网页中图片容器的宽度

var _img_width = _outers[0].offsetWidth;

//计算一行能放几张图片

var _row_num = _client_width / _img_width;

//声明一个数组,记录每一列的高度

var _height = [];

//循环放置图片

for(var i=0;i<_outers.length>

if(i<_row_num>

//放置第一行图片

_outers[i].style.left = i * _img_width + "px";

_outers[i].style.top = 0 ;

//记录每一列的高度

_height.push(_outers[i].offsetHeight);

}else{

//获取最小高度

var _min_height = Math.min.apply(this,_height);

//获取索引位置

var _min_index = _height.indexOf(_min_height);

//定位图片位置

_outers[i].style.left = _min_index * _img_width + "px";

_outers[i].style.top = _min_height + "px";

//更新数组数据

_height[_min_index] += _outers[i].offsetHeight;

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值