css 瀑布流布局_什么是瀑布流布局?瀑布流布局的实现方法

网页在进行布局的时候,有时会用到一种布局方式叫做瀑布流布局,那么,瀑布流布局是什么样的呢?本篇文章将来给大家介绍一下关于瀑布流布局的实现方法。

web前端学习:打造全网web前端全栈资料库(总目录)看完学的更快,掌握的更加牢固,你值得拥有(持续更新)​zhuanlan.zhihu.com

首先我们来看一下瀑布流布局是什么?

根据百度百科上面的定义我们可以知道瀑布流,又称瀑布流式布局。是比较流行的一种网站页面布局,视觉表现为参差不齐的多栏布局,随着页面滚动条向下滚动,这种布局还会不断加载数据块并附加至当前尾部。

接着我们来看一下瀑布流布局原理是什么?

瀑布流布局的原理就是页面容器内的多个高度不固定的div之间按照一定的间隔参差不齐的无序浮动,鼠标滚动时不断在容器内的尾部加载数据,且自动加载到空缺位置,不断循环。

看完了上述瀑布流布局的定义和原理后,我们就来看看瀑布流布局的实现方法

瀑布流布局的核心是基于一个网格的布局,而且每行包含的项目列表高度是随机的(随着自己内容动态变化高度),同时每个项目列表呈堆栈形式排列,最为关键的是,堆栈之间彼此之间没有多余的间距差存大。

下面我们就来看瀑布流布局的实现代码

1、纯css瀑布流布局代码:

<!DOCTYPE html>
<html>
<head>
 <meta charset="UTF-8">
 <title>CSS3瀑布流</title>
 <style>
 /*大层*/
 .container{width:100%;margin: 0 auto;}
 /*瀑布流层*/
 .waterfall{
 -moz-column-count:4; /* Firefox */
 -webkit-column-count:4; /* Safari 和 Chrome */
 column-count:4;
 -moz-column-gap: 1em;
 -webkit-column-gap: 1em;
 column-gap: 1em;
 }
 /*一个内容层*/
 .item{
 padding: 1em;
 margin: 0 0 1em 0;
 -moz-page-break-inside: avoid;
 -webkit-column-break-inside: avoid;
 break-inside: avoid;
 border: 1px solid #000;
 }
 .item img{
 width: 100%;
 margin-bottom:10px;
 }
 </style>
</head>
<body>
 <div>
 <div>
 <div>
 <img src="http://img2.imgtn.bdimg.com/it/u=1977804817,1381775671&fm=200&gp=0.jpg">
 <p>风景图1</p>
 </div>
 <div>
 <img src="http://img0.imgtn.bdimg.com/it/u=624117570,2702945706&fm=200&gp=0.jpg">
 <p>风景图2</p>
 </div>
 <div>
 <img src="http://img4.imgtn.bdimg.com/it/u=2539922263,2810970709&fm=200&gp=0.jpg">
 <p>风景图3</p>
 </div>
 <div>
 <img src="http://img0.imgtn.bdimg.com/it/u=3756090549,2773217785&fm=200&gp=0.jpg">
 <p>风景图4</p>
 </div>
 <div>
 <img src="http://img4.imgtn.bdimg.com/it/u=3450240447,3799203473&fm=26&gp=0.jpg">
 <p>风景图5</p>
 </div>
 </div>
 </div>
</body>
</html>

纯css瀑布流布局效果如下:

a6843d3ca3b4b963d768843f341e92c8.png

2、jquery简易瀑布流布局的实现代码:

<div>
 <ul>
 <li><img src="https://sjbz-fd.zol-img.com.cn/t_s120x90c/g5/M00/08/0A/ChMkJliEUgWIGWy8AAWUH9AG9zMAAZe7gPrREkABZQ3007.jpg" alt=""><img src="https://sjbz-fd.zol-img.com.cn/t_s120x90c/g5/M00/08/0A/ChMkJliEUgWIRotxAATQL-FHoo4AAZe7wAE3dIABNBH087.jpg" alt=""></li>
 <li><img src="https://sjbz-fd.zol-img.com.cn/t_s120x90c/g5/M00/08/0A/ChMkJliEUgWIWzw0AAQmOu8l33oAAZe7gPdxW0ABCZS129.jpg" alt=""><img src="https://sjbz-fd.zol-img.com.cn/t_s120x90c/g5/M00/08/0A/ChMkJliEUgWIc82eAATduiUrt8UAAZe7wAAAAAABN3S513.jpg" alt=""></li>
 <li><img src="https://sjbz-fd.zol-img.com.cn/t_s120x90c/g5/M00/08/0A/ChMkJ1iEUgWIbpwIAAUz5kEUSy0AAZe7wASX0kABTP-083.jpg" alt=""><img src="https://sjbz-fd.zol-img.com.cn/t_s120x90c/g5/M00/08/0A/ChMkJ1iEUgWIa-unAATupB6epU4AAZe7gP3KS0ABO68972.jpg" alt=""></li>
 <li><img src="https://sjbz-fd.zol-img.com.cn/t_s120x90c/g5/M00/08/0A/ChMkJ1iEUgWIYAyaAAixGG1uSlAAAZe7wAJrhkACLEw058.jpg" alt=""><img src="https://sjbz-fd.zol-img.com.cn/t_s120x90c/g5/M00/08/0A/ChMkJ1iEUgWIDY1dAAZQlUpPjRsAAZe7gPw2IAABlCt755.jpg" alt=""></li>
 </ul>
</div>
 * {
 margin:0;
 padding:0;
}
body {
 min-height:200vh;
}
div {
 width:90%;
 margin:auto;
}
ul {
 margin-top:10px;
 list-style:none;
}
li {
 border:1px solid #000;
 border-radius:5px;
 width:24%;
 float:left;
 margin-right:2px;
}
img {
 width:98%;
 display:block;
 margin:auto;
 margin-bottom:5px;
}
var imgData = {
 data: [{
 src: "https://sjbz-fd.zol-img.com.cn/t_s120x90c/g5/M00/08/0A/ChMkJliEUgWIGWy8AAWUH9AG9zMAAZe7gPrREkABZQ3007.jpg"
 },
 {
 src: "https://sjbz-fd.zol-img.com.cn/t_s120x90c/g5/M00/08/0A/ChMkJliEUgWIGWy8AAWUH9AG9zMAAZe7gPrREkABZQ3007.jpg"
 },
 {
 src: "https://sjbz-fd.zol-img.com.cn/t_s120x90c/g5/M00/08/0A/ChMkJliEUgWIGWy8AAWUH9AG9zMAAZe7gPrREkABZQ3007.jpg"
 },
 {
 src: "https://sjbz-fd.zol-img.com.cn/t_s120x90c/g5/M00/08/0A/ChMkJliEUgWIWzw0AAQmOu8l33oAAZe7gPdxW0ABCZS129.jpg"
 },
 {
 src: "https://sjbz-fd.zol-img.com.cn/t_s120x90c/g5/M00/08/0A/ChMkJliEUgWIWzw0AAQmOu8l33oAAZe7gPdxW0ABCZS129.jpg"
 },
 {
 src: "https://sjbz-fd.zol-img.com.cn/t_s120x90c/g5/M00/08/0A/ChMkJliEUgWIWzw0AAQmOu8l33oAAZe7gPdxW0ABCZS129.jpg"
 },
 {
 src: "https://sjbz-fd.zol-img.com.cn/t_s120x90c/g5/M00/08/0A/ChMkJ1iEUgWIbpwIAAUz5kEUSy0AAZe7wASX0kABTP-083.jpg"
 },
 {
 src: "https://sjbz-fd.zol-img.com.cn/t_s120x90c/g5/M00/08/0A/ChMkJ1iEUgWIbpwIAAUz5kEUSy0AAZe7wASX0kABTP-083.jpg"
 },
 {
 src: "https://sjbz-fd.zol-img.com.cn/t_s120x90c/g5/M00/08/0A/ChMkJ1iEUgWIbpwIAAUz5kEUSy0AAZe7wASX0kABTP-083.jpg"
 },
 ]
};
var count = 0;
$(window).on('scroll', function() {
 $.each(imgData.data, function(index, value) {
 var $oImg = $('<img>').attr('src', $(this).attr("src"));
 $oImg.appendTo($('li:eq(' + count % 4 + ')'))
 count++;
 })
})

jquery简易瀑布流布局效果如下:

fd765ff503a9feafdda64936f7f577f8.png

以上就是本篇文章的全部内容了,还有其他方法实现的瀑布流布局比如原生js实现瀑布流布局,这里就不多说了,你可以自己去试试用js实现。

以上就是什么是瀑布流布局?瀑布流布局的实现方法的详细内容,更多请关注我!!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值