js 使用masonry插件快速实现瀑布流布局效果自适应容器大小样式

先看效果图

在这里插入图片描述

参考demo

<!DOCTYPE html>
<html>
<head>
	<title>瀑布流开发</title>
	<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
	<script src="https://cdn.bootcdn.net/ajax/libs/masonry/4.2.2/masonry.pkgd.min.js"></script>
	<script src="https://cdn.bootcdn.net/ajax/libs/jquery.imagesloaded/4.1.4/imagesloaded.min.js"></script>
</head>
<style type="text/css">
	.grid{
		width: 1200px;
	}
	.grid-item {
		float: left;
		width: 300px;
		border: 2px solid hsla(0, 0%, 0%, 0.5);
	}
</style>
<body>
<div class="grid">
  <div class="grid-item">
  	<img src="https://www.jq22.com/demo/jquery-pubu-150108182449/images/t8.jpg">
  </div>
  <div class="grid-item">
  	<img src="https://www.jq22.com/demo/jquery-pubu-150108182449/images/t7.jpg">
  </div>
  <div class="grid-item">
  	<img src="https://www.jq22.com/demo/jquery-pubu-150108182449/images/t8.jpg">
  </div>
  <div class="grid-item">
  	<img src="https://www.jq22.com/demo/jquery-pubu-150108182449/images/t7.jpg">
  </div>
  <div class="grid-item">
  	<img src="https://www.jq22.com/demo/jquery-pubu-150108182449/images/t8.jpg">
  </div>
  <div class="grid-item">
  	<img src="https://www.jq22.com/demo/jquery-pubu-150108182449/images/t7.jpg">
  </div>
  <div class="grid-item">
  	<img src="https://www.jq22.com/demo/jquery-pubu-150108182449/images/t8.jpg">
  </div>
  <div class="grid-item">
  	<img src="https://www.jq22.com/demo/jquery-pubu-150108182449/images/t7.jpg">
  </div>
  <div class="grid-item">
  	<img src="https://www.jq22.com/demo/jquery-pubu-150108182449/images/t8.jpg">
  </div>
  <div class="grid-item">
  	<img src="https://www.jq22.com/demo/jquery-pubu-150108182449/images/t7.jpg">
  </div>
  <div class="grid-item">
  	<img src="https://www.jq22.com/demo/jquery-pubu-150108182449/images/t8.jpg">
  </div>
  <div class="grid-item">
  	<img src="https://www.jq22.com/demo/jquery-pubu-150108182449/images/t7.jpg">
  </div>
  <div class="grid-item">
  	<img src="https://www.jq22.com/demo/jquery-pubu-150108182449/images/t8.jpg">
  </div>
  <div class="grid-item">
  	<img src="https://www.jq22.com/demo/jquery-pubu-150108182449/images/t7.jpg">
  </div>
  <div class="grid-item">
  	<img src="https://www.jq22.com/demo/jquery-pubu-150108182449/images/t8.jpg">
  </div>
  <div class="grid-item">
  	<img src="https://www.jq22.com/demo/jquery-pubu-150108182449/images/t7.jpg">
  </div>
</div>
<script type="text/javascript">
	const $grid = $('.grid').masonry({
		itemSelector: '.grid-item',
	});

	$grid.imagesLoaded().progress( function() {
	  $grid.masonry('layout');
	});
</script>
</body>
</html>

使用细节

	# masonry插件基于jquery开发,所以先要引入jquery插件
	<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
	# 瀑布流排序插件
	<script src="https://cdn.bootcdn.net/ajax/libs/masonry/4.2.2/masonry.pkgd.min.js"></script>
	# 监听图片加载插件,此插件可用于监听图片加载状态
	<script src="https://cdn.bootcdn.net/ajax/libs/jquery.imagesloaded/4.1.4/imagesloaded.min.js"></script>

# 初始化瀑布流插件 $('.grid')代表瀑布流的容器 ,'.grid-item' 代表需要进行瀑布流排序的item,注意grid-item必须要有float:left样式,更多细节参考官网手册
	const $grid = $('.grid').masonry({
		itemSelector: '.grid-item',
	});

# 监听瀑布流dom下的图片状态,当图片加载成功时,再进行排序
	$grid.imagesLoaded().progress( function() {
	  $grid.masonry('layout');
	});
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值