diff --git a/packages/core/src/vivliostyle/layout.ts b/packages/core/src/vivliostyle/layout.ts index a1da03678..87b755b7f 100644 --- a/packages/core/src/vivliostyle/layout.ts +++ b/packages/core/src/vivliostyle/layout.ts @@ -2532,6 +2532,11 @@ export class Column extends VtreeImpl.Container implements Layout.Column { * Determines if a page break is acceptable at this position */ isBreakable(flowPosition: Vtree.NodeContext): boolean { + for (let nc = flowPosition; nc; nc = nc.parent) { + if (LayoutHelper.isOutOfFlow(nc.viewNode)) { + return false; + } + } if (flowPosition.after) { return true; // may be an empty block } @@ -2560,6 +2565,11 @@ export class Column extends VtreeImpl.Container implements Layout.Column { if (!nodeContext) { return false; } + for (let nc = nodeContext; nc; nc = nc.parent) { + if (LayoutHelper.isOutOfFlow(nc.viewNode)) { + return false; + } + } if (LayoutHelper.isOrphan(nodeContext.viewNode)) { return false; }