JointJS 基线偏移

问题描述

我使用的是 JointJS 3.2.0,我需要像 PN=xxx 这样的文本。

在 JointJS 中应该如何使用基线偏移?我试过了

 markup: '<g><text>\
                <tspan class="left"></tspan>\
                <tspan class="sub"></tspan>\
                <tspan class="right"></tspan>\
                </text></g>',attrs: {
                '.sub': {
                'baseline-shift': 'sub',},

但它在每个 tspan 内创建另一个 tspan,所有 dy=0。 类似的方法没有使正确的 tspan 具有基线偏移属性

我尝试了另一种方法,将 textVerticalAnchor 更改为“top”,但在这种情况下,我无法控制每个 tspan 之间的间距,并且字母之间的间距比仅在一个 tspan 内更远。

解决方法

使用 Text Annotations 可能会有所帮助。

element.attr('label',{
  text: 'Pn = xxx',annotations: [{ start: 1,end: 2,attrs: { 'baseline-shift': 'sub' }}]
});

这是一个 JSFiddle