是用vue3找的瀑布流的js组件没找到好用的,发现css也能做布局 还可以凑合用如下是代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
<style>
.box {
margin: 10px;
column-count: 2;
column-gap: 10px;
}
.item {
margin-bottom: 10px;
/* 防止多列布局,分页媒体和多区域上下文中的意外中断 */
break-inside: avoid;
}
.item2 {
height: 120px;
border: 1px solid red;
}
.item img {
width: 100%;
height: 100%;
}
</style>
</head>
<body>
<div class="box">
<div class="item">
<img src="../assets/image/3.jpg" alt="" />
</div>
<div class="item item2">
<img src="../assets/image/1.png" alt="" />
</div>
<div class="item">
<img src="../assets/image/2.png" alt="" />
</div>
<div class="item">
<img src="../assets/image/3.jpg" alt="" />
</div>
<div class="item item3">
<img src="../assets/image/2.png" alt="" />
</div>
<div class="item item2">
<img src="../assets/image/1.png" alt="" />
</div>
<div class="item">
<img src="../assets/image/3.jpg" alt="" />
</div>
<div class="item">
<img src="../assets/image/1.png" alt="" />
</div>
<div class="item item3">
<img src="../assets/image/2.png" alt="" />
</div>
<div class="item item2">
<img src="../assets/image/3.jpg" alt="" />
</div>
<div class="item">
<img src="../assets/image/1.png" alt="" />
</div>
<div class="item item3">
<img src="../assets/image/2.png" alt="" />
</div>
</div>
</body>
</html>
以上css有缺点就是会先排左列的再排右列的,如果业务对顺序有要求就没办法用这个了,刚好又找到了一个支持vue3并且很好适配的库
https://github.com/heikaimu/vue3-waterfall-plugin