我正在使用Web应用程序,但是遇到以下问题:
我想显示一个可以具有不同的blockHeight和Width的图块网格。
出于兼容性原因,我不能不使用CSS GRID。
我得到一个具有不同blockHeights和blockWidths的Tile列表,以显示在我的网格中。例如。现在,blockHeight为2的图块(如上图中的第一个图块)的高度现在是其两倍高。显然,这不会创建另一个Row,因此在两个小图块下面有一个空白空间。
如何在不使用CSS GRID的情况下删除网格的空白?
谢谢!
答案 0 :(得分:1)
对不起,但是您不能只使用CSS吗?
.floatingItems {
float: left;
}
这样,项将始终尝试与左侧对齐。 这样,您就不必包括一个库。
答案 1 :(得分:0)
使用以下库,您可以实现以下目的:
盒子尺寸的CSS计算与默认盒子尺寸成比例;占利润。
var grid = new Muuri('.grid', {
dragEnabled: true
});
.grid {
position: relative;
background: #6EB3CA
}
.item {
display: block;
position: absolute;
width: 64px; /* Default 1 unit */
height: 64px; /* Default 1 unit */
margin: 4px; /* Margin */
z-index: 1;
background: #fff;
color: #000;
border-radius: 4px;
}
.item.muuri-item-dragging {
z-index: 3;
}
.item.muuri-item-releasing {
z-index: 2;
}
.item.muuri-item-hidden {
z-index: 0;
}
.item-content {
position: relative;
width: 100%;
height: 100%;
text-align: center;
line-height: 64px;
}
.item-6x2 {
width: 424px; /* (64 * 6) + (4 * 10) */
height: 136px; /* (64 * 2) + (4 * 2) */;
}
.item-2x1 {
width: 136px; /* (64 * 2) + (4 * 2) */
height: 64px; /* (64 * 1) + (4 * 0) */;
}
.item-6x2 .item-content {
line-height: 136px;
}
<script src="https://unpkg.com/web-animations-js@2.3.1/web-animations.min.js"></script>
<script src="https://unpkg.com/hammerjs@2.0.8/hammer.min.js"></script>
<script src="https://unpkg.com/muuri@0.7.1/dist/muuri.min.js"></script>
<div class="grid">
<div class="item item-6x2">
<div class="item-content">
6×2
</div>
</div>
<div class="item item-2x1">
<div class="item-content">
2×1
</div>
</div>
<div class="item item-2x1">
<div class="item-content">
2×1
</div>
</div>
<div class="item item-2x1">
<div class="item-content">
2×1
</div>
</div>
<div class="item item-2x1">
<div class="item-content">
2×1
</div>
</div>
<div class="item item-2x1">
<div class="item-content">
2×1
</div>
</div>
<div class="item item-2x1">
<div class="item-content">
2×1
</div>
</div>
<div class="item item-2x1">
<div class="item-content">
2×1
</div>
</div>
<div class="item item-2x1">
<div class="item-content">
2×1
</div>
</div>
<div class="item item-2x1">
<div class="item-content">
2×1
</div>
</div>
<div class="item item-2x1">
<div class="item-content">
2×1
</div>
</div>
<div class="item item-2x1">
<div class="item-content">
2×1
</div>
</div>
<div class="item item-2x1">
<div class="item-content">
2×1
</div>
</div>
<div class="item item-2x1">
<div class="item-content">
2×1
</div>
</div>
</div>
答案 2 :(得分:0)
user10357213,
您有两个悬而未决的问题。如果给出的答案有帮助,则接受相应的答案会很好。或者至少回答是否以及为什么这个答案不适合您。
(无法评论飞机,这就是为什么我发布另一个答案。对不起)