首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >美人鱼中的全局或文档范围的样式

美人鱼中的全局或文档范围的样式
EN

Stack Overflow用户
提问于 2020-10-29 23:26:15
回答 1查看 651关注 0票数 2

我有一个文档,在其中我创建了许多流程图,这些流程图共享其项目的样式和颜色的共同图例。例如:

代码语言:javascript
复制
graph TB
  classDef client fill:#D5E8D4,stroke:#82B366,color:#000000;
  classDef utility fill:#E1D5E7,stroke:#9673A6,color:#000000;
  classDef resource fill:#DAE8FC,stroke:#6C8EBF,color:#000000,stroke-dasharray: 3 3;
  <!-- and more -->

现在,我需要将这些classDef添加到我制作的每个流程图中。复制-粘贴它们并不是世界末日,但当你有20个流程图来使所有的流程图都使用相同的样式定义时,这并不是最好的。

有没有办法指定在同一类型的所有图表之间共享的每个文档的classDef或样式集?

EN

回答 1

Stack Overflow用户

发布于 2020-11-08 22:08:08

为此,Mermaid允许使用CSS:只需声明一次CSS类,然后在任何Mermaid定义中使用它们,就像使用classDef声明它们一样。增加的好处:您实际上是在它们所属的地方声明样式(*.css文件或直接在<style>标记中)。

JSFiddle上的示例:https://jsfiddle.net/negbsw0v/

在CSS中的某个位置:

代码语言:javascript
复制
.client > rect {
    fill: #D5E8D4 !important;
    stroke: #82B366 !important;
    color: #000000 !important;
}
.utility > rect {
    ...
}
.resource > rect {
    ...
}

在美人鱼定义中:

代码语言:javascript
复制
graph TB
A --> C
B --> C
class A client
class B resource
class C utility

相关文档:http://mermaid-js.github.io/mermaid/#/flowchart?id=css-classes

注意:正如您在上面看到的,与文档建议的不同,!important指令被添加到一些样式定义中,因为如果不添加,Mermaid CSS优先于自定义CSS。至少在当前版本为Meramaid (8.8.3)的Firefox中是这样的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64594220

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档