d3.js tspan文本块文本居中对齐

myss37ts  于 2022-11-12  发布在  其他
关注(0)|答案(1)|浏览(226)

下面的示例生成文本块,但当前测试是左对齐,如何将文本居中对齐?
第一个

  • 更新 *

apply @herrstrietzel的答案后,我创建了下面的演示来展示将文本框放在特定位置的用例,目前它总是在svg的中心,我希望它部署在特定位置(x,y)。
第一个

ifsvaxew

ifsvaxew1#

由于text-anchor的值是“start”而不是“middle”,因此文本左对齐。

工作示例

第一个
dy实际上更适合于模拟换行符。

值得一提的是:

  • 在SVG中没有类似块的元素:
  • svg不会根据其内容/子节点尺寸自动增长或收缩(因此您需要根据文本长度计算适当的高度和)
  • <text>元素需要x值为“50%”或“viewBox width/2”才能居中

我强烈建议“静态”测试最好的<text>属性(例如,在codepen或静态html中)

第二个示例:

您需要为<text><tspan>元素设置相同的x值,以模拟居中对齐的文本块
红色圆圈说明所需的水平/垂直中心点。
第一个

相关问题