【发布时间】:2015-10-21 21:25:14
【问题描述】:
我正在尝试制作类似 mansonry 的布局,但元素具有响应大小。虽然大小是有限的,但它们只能是小矩形的倍数。我的想法是我可以拥有 1x1、1x2、2x2、2x1 的元素,以尽可能适合页面中的最佳位置。
我之前看到过一些这样的问题,但答案总是像“使用引导程序”这样无用的东西。我已经尝试过引导网格、骨架网格和许多其他方法。它们都不能处理与列重叠的元素。
我现在正在使用 Mansonry js 库,而且我快到了。只有一个故障是我无法解决的。 Mansonry 出于某种原因不喜欢我制作 2x2 元素。它打破了排水沟(即使我在元素宽度中包含了确切的排水沟尺寸)。
注意事项,我使用可变(百分比)元素宽度和基于该宽度的高度。
我的测试 html 部分:
<div class="container">
<div class="grid">
<div class="grid-sizer"></div>
<div class="gutter-sizer"></div>
<!-- Exemplo divisão -->
<div class="grid-item"> </div>
<div class="grid-item"> </div>
<div class="grid-item grid-item--width2"> </div>
<div class="grid-item"> </div>
<div class="grid-item"> </div>
<div class="grid-item"> </div>
<div class="grid-item"> </div>
<div class="grid-item"> </div>
<div class="grid-item"> </div>
</div>
</div>
我的 CSS:
.container {
margin-left: auto;
margin-right: auto;
width: 90%;
}
.grid-sizer,
.grid-item {
width: 33%;
background-color: #666;
margin-bottom: 0.20%;
margin-top: 0%;
}
.gutter-sizer { width: 0.5%; }
.grid-item:before{
content:"";display:block;padding-top:50%;
}
.grid-item--width2{
width: 66.5%;
background-color: #555;
}
【问题讨论】:
标签: javascript jquery html css responsive-design