当容器的宽度发生变化时,我试图让几个 div 元素换行到下一行。包装部分工作正常,当没有足够的宽度容纳它时,框将下降到下一行,但是如果高度不同,则第一行元素和第二行元素之间存在间隙。在下面的示例中,我希望框 b4 向上滑入 b1 下方的空白区域。这可能吗?谢谢你的帮助。
问问题
367 次
3 回答
0
这可能与您正在寻找的内容接近。它可能会进行很多优化,并进行调整以更好地满足您的需求。此外,当它转到单个列时存在一个错误,我无法对其进行排序。很有可能,最好的解决方案是将所有margin-top
值设置为0
在特定屏幕宽度下。
$(window).resize(function(e){
var wid = $("#container").width();
$("#container .box").each(function(index, element){
$(this).css("margin-top", 0);
var top = $(this).position().top;
var left = $(this).position().left;
var upwards = null;
var htm = $("html")[0];
if (top > 0){
var cTop = top;
while ((upwards == null || upwards == htm) && cTop > 0){
cTop -= 10;
upwards = document.elementFromPoint(left, cTop);
}
var uTop = $(upwards).position().top;
var uHei = $(upwards).height();
var negMarg = (uTop + uHei) - top;
if (negMarg < 0){
$(this).css("margin-top", negMarg);
}
else if (negMarg > 0)
$(this).css("margin-top", 0);
}
});
});
于 2012-09-06T21:15:55.937 回答
0
hello one small changes i this case you must set the min-height and max-height details as follows. and when you add the content the height automatically increased.
#box3 {
display: table-cell;
max-height: 300px;
min-height: 98px;
width: 200px;
}
于 2012-09-06T20:53:06.083 回答
-2
如果您将 a 添加float:left
到您的元素中,这是可能的。
于 2012-09-06T20:44:26.610 回答