我想构建一个网络,其中节点表示与卡类似的结构信息。卡片是指由两个区域组成的结构:
据我在vis.js文档see example here中可以看到,可以输入段落/文本作为节点标签,但无法通过Html构建节点。
我可以通过使用vis.js / Network达到此目的,还是应该去另一个图书馆?
答案 0 :(得分:3)
不幸的是,没有。截至2018年1月,node labels don't support html in general(它们是画布的一部分,因此将任意html片段合并到其中并不容易)。只有有限的标记(html-emulating和markdown)允许同一标签中的多个字体大小/颜色/系列(最多4个,afaik,=普通和内部<b>
,<i>
和{ {1}}“标签”)+您可以将图片用作节点的形状(<code>
或shape: 'icon'
或'image'
)。
Here您可以找到使用多种方法的示例:它们定义
'circularImage'
在选项和节点的此类标签中:
var options = {
nodes: {
font: {
multi: true,
bold: {
mod: '',
color: '#ff0000'
}
}
}
}
您确实可以创建多行textarea,但只能以hacky方式创建按钮。您可以尝试以下解决方法:
这可能有一些副作用/涉及一些额外的编码,但至少会像你所描述的那样工作。
在this question中,作者使用了一种有趣的技术,即使用SVG将html注入到vis.js图中。我不知道该技术的局限性(除了可以插入非交互式html),所以可能值得一试。