МТ
Size: a a a
МТ
МТ
ER
grid.items.slice(ncol).forEach((c, i) => {
let prev_fin = grid.items[i].getBoundingClientRect().bottom /* bottom edge of item above */,
curr_ini = c.getBoundingClientRect().top /* top edge of current item */;
c.style.marginTop = `${prev_fin + grid.gap - curr_ini}px`
});
A
AP
AP
grid.items.forEach(measure);
grid.items.forEach(modify);
AS
МТ
AP
МТ
ER
AS
A
МТ
МТ
ER
AP
МТ
МТ
ER