对你来说有点谜......
我有一个 730px 宽的自动高度 div。在这里面我有一些较小的 div 164px X 261px。
这些将被动态拉入模板,因此我可以有 1 个,或者我可以有 18 个,或者为了这个练习,我可以有 1000 个或介于两者之间的任何值。
我需要将它们分开,以便在每条线上,每条线之间的距离相等。很简单,如果我们最多处理 4 个,我可以执行以下操作:
var totalWidth = $('.bigDiv .smallerDivs').length * $('.bigDiv .smallerDivs').width();
var margin = ($('.bigDiv').width - totalWidth) / ($('.bigDiv .smallerDivs').length * 2);
$('.bigDiv .smallerDivs').css('margin-left': margin , 'margin-right': margin);
但是,当有 5 个时。我希望顶行有 3 个,底部有 2 个。或者如果我有 7 个,我希望 4 在顶部 3 在底部。如果有 11 个,我希望顶部有 4 个,中间有 4 个,下面有 3 个等等,等等,每行根据有多少小盒子都很好地证明了这一点。
任何人都可以建议我可以解决这个问题的一个很好的干净方式吗?