diff --git a/packages/mermaid/src/diagrams/block/layout.ts b/packages/mermaid/src/diagrams/block/layout.ts index a00e935ac..9daf0b4c1 100644 --- a/packages/mermaid/src/diagrams/block/layout.ts +++ b/packages/mermaid/src/diagrams/block/layout.ts @@ -270,7 +270,11 @@ function layoutBlocks(block: Block, db: BlockDB) { if (child.children) { layoutBlocks(child, db); } - columnPos += child?.widthInColumns ?? 1; + let columnsFilled = child?.widthInColumns ?? 1; + if (columns > 0) { + columnsFilled = Math.min(columnsFilled, columns - (columnPos % columns)); + } + columnPos += columnsFilled; log.debug('abc88 columnsPos', child, columnPos); } }