このフィドルを試してください
ステップ 1:サム ボックスの実際の幅を計算します。つまり、幅 + 2*(ボーダー + マージン + パディング)
ステップ 2:連続して親指の数を計算します (ここで考える必要があります) 私が行ったことは、すべての親指の上部をチェックしたことです 関数
calculate_in1Row ()を参照してください
HTML:
<div class="red">
<div class="green">Logo</div>
<div class="blue">
<div class="thumb"></div>
<div class="thumb"></div>
<div class="thumb"></div>
<div class="thumb"></div>
<div class="thumb"></div>
<div class="thumb"></div>
<div class="thumb"></div>
<div class="thumb"></div>
<div class="thumb"></div>
<div class="thumb"></div>
<div class="thumb"></div>
<div class="thumb"></div>
<div class="thumb"></div>
<div class="thumb"></div>
<div class="thumb"></div>
<div class="thumb"></div>
<div class="thumb"></div>
<div class="thumb"></div>
<div class="thumb"></div>
<div class="thumb"></div>
</div>
</div>
CSS :
.red {border:1px solid red; }
.green{border:1px solid green; margin:2px;}
.blue{border:1px solid blue; margin:2px; overflow:auto;}
.thumb {border:1px solid black; width:40px; height:40px; margin:2px; padding:3px; float:left}
jQuery:
$(document).ready(function() {
var tw = $(".thumb").width() + 2 * (1 + 2 + 3); // width + 2*(border+margin + padding)
tw = tw * calculate_in1Row()
$(".blue").width(tw);
$(".green").width(tw);
});
// function ti calculate no of thumb box in single row
function calculate_in1Row() {
var in1Row = 0;
$('.blue .thumb').each(function() {
if ($(this).prev().length > 0) {
if ($(this).position().top != $(this).prev().position().top) return false;
in1Row++;
}
else {
in1Row++;
}
});
return in1Row;
}