Mermaid块图中如何实现元素f跨列并视觉上置于c、d、e组合区域外侧?
Mermaid块图中如何实现元素f跨列并视觉上置于c、d、e组合区域外侧?
看起来你想要让f完全覆盖c、d、e的总宽度,并且视觉上跳出它们所在的子块范围对吧?问题出在原来的代码里f是嵌套在b块的内部层级里,和c、d、e处于同一子级,所以会被b块的内边距限制在内部区域。我给你两种可行的调整方案:
方案一:将f移到b块外侧,利用列宽匹配实现视觉独立
把f从b块的内部移出来,和b块设置为同级元素,让它的列宽和b块一致(都是3列),这样f的宽度就刚好覆盖c、d、e的组合区域,而且视觉上完全独立于b块的内边距,自然就处于外侧了:
block-beta columns 4 a:1 f:3 block:b:3 columns 3 c:1 d:1 e:1 end g:4 h:4 style f stroke-width:5px
方案二:在b块内嵌套子block,分离f与c、d、e的层级
如果希望f仍保留在b块内部,可以把c、d、e包裹进一个新的子block,让f和这个子block成为同级元素,两者都占满3列宽度。这样b块的内边距只会作用到这两个同级元素上,f就不会被c、d、e的排列限制在内部,视觉上更贴近“外侧”的效果:
block-beta columns 4 a:1 block:b:3 columns 3 block:cde-group:3 columns 3 c:1 d:1 e:1 end f:3 end g:4 h:4 style f stroke-width:5px
简单来说,核心就是让f的列宽和c、d、e的总列宽保持一致,同时调整它的层级,摆脱原有子块内边距的限制,就能实现你要的视觉效果。
备注:内容来源于stack exchange,提问作者Patrick Bucher
相关产品推荐
相关产品推荐

