You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PlantUML WBS多线节点无法应用Inline样式,求解决方法

如何为PlantUML WBS多行节点应用Inline样式?

我正在使用PlantUML和WBS Diagram构建简单的组织结构图,参考官方WBS文档。尝试为节点应用Inline样式时,单节点单行的写法可以正常生效:

@startwbs
<style>
wbsDiagram {
  .highlight {
      BackgroundColor pink
  }
}
node {
    Padding 12
    Margin 30
    HorizontalAlignment center
    LineColor #008AC9
    LineThickness 3.0
    BackgroundColor #A6E1FF
    RoundCorner 10
}
</style>

* John Doe <<highlight>>
** Jane Smith
*** Bob Brown
** Alice Green

@endwbs

生成的图表能正常显示样式:John Doe节点背景为粉色,其余节点为浅蓝色,所有样式规则均正确应用。

但使用多行节点格式时,样式无法生效:

@startwbs
<style>
wbsDiagram {
  .highlight {
      BackgroundColor pink
  }
}
node {
    Padding 12
    Margin 30
    HorizontalAlignment center
    LineColor #008AC9
    LineThickness 3.0
    BackgroundColor #A6E1FF
    RoundCorner 10
}
</style>

*:<b>Manager</b> 
John Doe 
<<highlight>>;
**:<b>Lead Developer</b>
Jane Smith;
***:<b>Senior Developer</b>
Bob Brown;
**:<b>QA Lead</b>
Alice Green;

@endwbs

生成的图表未应用样式:John Doe节点未呈现粉色背景,基础节点样式也未正确加载。

解决方案

调整多行节点的样式标记位置,将<<highlight>>放在节点内容的最后一行,与结束分号;处于同一行即可。修改后的代码如下:

@startwbs
<style>
wbsDiagram {
  .highlight {
      BackgroundColor pink
  }
}
node {
    Padding 12
    Margin 30
    HorizontalAlignment center
    LineColor #008AC9
    LineThickness 3.0
    BackgroundColor #A6E1FF
    RoundCorner 10
}
</style>

*:<b>Manager</b> 
John Doe <<highlight>>;
**:<b>Lead Developer</b>
Jane Smith;
***:<b>Senior Developer</b>
Bob Brown;
**:<b>QA Lead</b>
Alice Green;

@endwbs

原因说明

PlantUML解析多行WBS节点时,会以分号;作为节点内容的结束标记。样式标记<<xxx>>必须紧跟在节点内容末尾,与分号放在同一行,解析器才能正确识别该样式属于当前节点,进而应用对应的样式规则。

内容的提问来源于stack exchange,提问作者BML91

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 20:15:05