`#mview` 內 `.box` 經 JS 計算 `position:absolute; top/left` 定位後,父容器高度僅剩第一行高度,內容溢出不撐開。
`absolute` 元素**脫離文檔流**,不佔據父容器空間,父容器高度按正常流子元素計算(此處無正常流子元素)。
function waterfall() {
// ... 現有計算邏輯 ...
// 最後:
let maxBottom = 0;
$('#mview .box').each(function() {
const bottom = $(this).position().top + $(this).outerHeight();
if (bottom > maxBottom) maxBottom = bottom;
});
$('#mview').height(maxBottom); // 撐開父容器
}若無需極高兼容性,CSS `columns` + `column-gap` 或 `grid-auto-flow: dense` 可實現無 JS 瀑布流,父容器自動撐高。