D3动态垂直对齐文本

D3 dynamically vertically align text

本文关键字:文本 对齐 垂直 动态 D3      更新时间:2023-09-26

我在这里看到了一些关于使用dy垂直对齐文本的帖子,但所有这些帖子都只是随机选择一个值,而没有解释。这个值肯定会因字体大小而不同吗?我的文本的字体大小存储在一个变量(fsize)中,其值可以根据其他因素而更改。我试着设置.attr("dy", fsize / 2)(不完全是这样,因为fsize是一个字符串,在ems中,但你明白了),我的文本偏离了中心。给定fsize的字体大小,我应该选择什么值?

"这个值肯定会根据字体大小而不同吗?"

如果你使用"em"单位,字体大小应该无关紧要,因为它们是相对大小单位

https://www.w3.org/WAI/GL/css2em.htm

因此,您可以使用像.attr("dy", "0.7em")这样的经验法则,它将文本y向移动字体高度

的70%