瀑布流效果

css和js实现瀑布流效果示例

html代码

复制代码代码如下:
<div class="wrap">
<div class="bigbox" id="bigbox">
<!--每一小块开始-->
<div class="listbox">
<div class="listbox-con">
<h2>图片介绍和描述</h2>
<p>此为介绍和描述</p>
</div>
</div>
<div class="listbox">
<div class="listbox-con">
<h2>图片介绍和描2述</h2>
<p>此为介绍和描述此为介绍和描述此为介绍和描述此为介绍和描述此为介绍和描述此为介绍和描述2</p>
</div>
</div>
<div class="listbox">
<div class="listbox-con">
<h2>图片介绍和描3述</h2>
<p>此为介绍和描述此为介绍和描述此为介绍和描述此为介绍和描述此为介绍和描述此为介绍和描述3</p>
</div>
</div>
<div class="listbox">
<div class="listbox-con">
<h2>图片介绍和描4述</h2>
<p>此为介绍和描述此为介绍和描述此为介绍和描述此为介绍和描述4</p>
</div>
</div>
<div class="listbox">
<div class="listbox-con">
<h2>图片介绍和描5述</h2>
<p>此为介绍和描述此为介绍和描述此为介绍和描述此为介绍和描述此为介绍和描述此为介绍和描述5</p>
</div>
</div>
<div class="listbox">
<div class="listbox-con">
<h2>图片介绍和描述</h2>
<p>此为介绍和描述</p>
</div>
</div>
<div class="listbox">
<div class="listbox-con">
<h2>图片介绍和描2述</h2>
<p>此为介绍和描述此为介绍和描述此为介绍和描述此为介绍和描述此为介绍和描述此为介绍和描述2</p>
</div>
</div>
<div class="listbox">
<div class="listbox-con">
<h2>图片介绍和描3述</h2>
<p>此为介绍和描述此为介绍和描述此为介绍和描述此为介绍和描述此为介绍和描述此为介绍和描述3</p>
</div>
</div>
<div class="listbox">
<div class="listbox-con">
<h2>图片介绍和描4述</h2>
<p>此为介绍和描述此为介绍和描述此为介绍和描述此为介绍和描述4</p>
</div>
</div>
<div class="listbox">
<div class="listbox-con">
<h2>图片介绍和描5述</h2>
<p>此为介绍和描述此为介绍和描述此为介绍和描述此为介绍和描述此为介绍和描述此为介绍和描述5</p>
</div>
</div>

</div>
</div>

css样式代码

复制代码代码如下:
*{ margin:0px; padding:0px;}
.wrap{ padding:15px;}
.bigbox{ width:100%; position:relative;}
.listbox{ width:23%; padding:1%; position:absolute; box-shadow:0 0 1px #CCC;}
.listbox-con{ background:#fefefe;}
.listbox-con h2{ font-size:16px; color:#333;}
.listbox-con p{ font-size:14px; color:#666;}

插件代码

复制代码代码如下:
(function($){
var defaults ={
wflist:'.listbox'
};
$.fn.waterfal = function(opt){
opt =$.extend({},defaults,opt);
// 变量
var obj = $(this);//当前对象

var wfwidth = $(opt.wflist).outerWidth(true),
minHeight = 0,
maxcol=Math.floor($(window).width()/wfwidth);

(function(wflist,maxcol,wfwidth,minHeight){
var wfarr = new Array(),minHeight = 0,minCol=0;

for(i=0;i<wflist.length;i++){
colHeight=wflist.eq(i).outerHeight(true);
if(i<maxcol){
wfarr[i] = colHeight;
wflist.eq(i).css({'top':0,left:i*wfwidth});
}else{
minHeight=Math.min.apply(null,wfarr);//
minCol = getArrayKey(wfarr, minHeight);
wfarr[minCol] += colHeight; //加上新高度后更新高度值
wflist.eq(i).css({"top":minHeight,left:minCol * wfwidth}); //先得到高度最小的Li,然后把接下来的li放到它的下面
}
wflist.eq(i).attr('id',"post_"+i);
};
})( $(opt.wflist),maxcol,wfwidth,minHeight);

function getArrayKey(wfa,minh){//使用for in运算返回数组中某一值的对应项数(比如算出最小的高度值是数组里面的第几个)
for( ind in wfa ) {
if( wfa[ind] == minh) {
return ind;
}
}
};
var wfAreaH = parseInt( $(opt.wflist).last().css("top")) + $(opt.wflist).last().outerHeight(true)+ "px"; //显示区域的高度为 最后一个元素的Top值+自身高度
obj.css({ "width":wfwidth * maxcol,"height":wfAreaH }); //设置显示区域宽度和高度
}
})(jQuery);

华山资源网 Design By www.eoogi.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
华山资源网 Design By www.eoogi.com

RTX 5090要首发 性能要翻倍!三星展示GDDR7显存

三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。

首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。

据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。

更新日志

2024年09月21日