我试图<text>
通过给它一个上边距来定位 HTML5 SVG 中的元素。比方说,我希望<text>
元素的上边距为 10 像素。这将不起作用:
<svg style="height: 100px; border: 1px solid black">
<text fill="#000" x="10" y="10" font-size="50" font-family="Arial">
<tspan>The quick brown fox jumps over the lazy dog</tspan>
</text>
</svg>
问题是,对于 SVG 文本元素,y
距离是从文本的底线测量的,而不是顶部。此代码生成的文本只有较低的 10px 可见。因此,我们必须将font-size
值添加到y
值中以获得正确的边距:
<svg style="height: 100px; border: 1px solid black">
<text fill="#000" x="10" y="60" font-size="50" font-family="Arial">
<tspan>The quick brown fox jumps over the lazy dog</tspan>
</text>
</svg>
至少,我是这么认为的。但这也不起作用。现在,上边距太大了,正如您在小提琴中看到的那样:http: //jsfiddle.net/yy8gS/2/。我希望上边距与左边距相同,显然不是这样。事实上,y
48 的值看起来是正确的,但我不知道为什么,或者我如何计算任意边距和字体大小的这个值。在我看来,该font-size
值不是 SVG 用于定位的实际文本高度值。
有人可以帮我吗?我正在尝试用 SVG 做些什么吗?
提前致谢!