我使用 Masonry 作为布局引擎。我的基本网格项目是正方形(在本例中为 25% 宽度),而宽项目的宽度为 100%。
到现在为止零问题,但我希望宽项目不会中断项目的流动,所以没有留下那么多空白。那可能吗?
提前致谢。
这是代码:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://unpkg.com/masonry-layout@4/dist/masonry.pkgd.min.js"></script>
<style>
.grid-sizer, .grid-item { width: 25%; height: 25vw; border: 1px; border-color: black; border-style: solid; margin: 0; box-sizing: border-box; text-align: center; font-size: 60px; color: darkgray; font-family: sans-serif; padding-top: 50px;}
.grid-item--width2 { width: 100%; }
</style>
<div class="grid">
<div class="grid-sizer"></div>
<div class="grid-item">1</div>
<div class="grid-item">2</div>
<div class="grid-item grid-item--width2">3</div>
<div class="grid-item">4</div>
<div class="grid-item">5</div>
</div>
<script>
$('.grid').masonry({
itemSelector: '.grid-item',
columnWidth: '.grid-sizer',
percentPosition: true
})
</script>
更新说明:
我仍然不知道如何在 Masonry 中实现预期的结果,但是有一种纯 CSS 方法可以做到这一点:网格,将grid-auto-flow设置为dense。