フィドルの最初の行としてjqueryにレイアウトのすべての行を埋める必要があります
私が十分に説明したかどうかはわかりませんが、フィドルは私が望むものを明確にするはずです。最初の 5 つの div は、行がいっぱいになるように幅が少し変更されていますが、残りの行がコンテナーをいっぱいにすることはできません。
基本的に、幅を広げてすべてのdivを正当化したい
これまでのところ、ここから変更されたこの関数があります:jQueryは、フロートされたliの行ごとのアイテム数を見つけます:
var lisInRow = 0;
$('#posts div').each(function() {
if($(this).prev().length > 0) {
if($(this).position().top != $(this).prev().position().top) return false;
lisInRow++;
$(this).addClass("row1");
}
else {
lisInRow++;
$(this).addClass("row1");
}
});
var itemNumber = $(".row1").length
var widthRow = 0;
$('.row1').each(function() {
widthRow += $(this).outerWidth( true );
});
var widthContainer = $("#posts").width();
var remaining = widthContainer - widthRow;
leftMargin = Math.floor(remaining / itemNumber);
$(".row1").each(function(){
var addedwidth = $(this).width() + leftMargin;
$(this).width(addedwidth);
});
最初の行で行うことは、コンテナーの残りを計算し、それを行の項目数で割り、その結果を行の各項目の幅に追加することです。