我遇到了 SVG 文本元素的问题。我想找到 SVG 文本的中心点。在 HTML 文件中:
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<text x="300" y="300" style="font-size: 80px;" id="test">It is example text</text>
</svg>
在Javascript中,我有类似的东西:
var obj = document.getElementById('test').childNodes[1];
var box = obj.getBBox();
var centerPoint = new Object();
centerPoint.x = box.x + box.width / 2;
centerPoint.y = box.y + box.height/ 2;
但它不起作用 - 中心点低于我的预期。可能我错过了一些东西,我确定还有一个文本属性需要从“centerPoint.y”中减去。“centerPoint.x”值似乎没问题。它在 IE9 浏览器、Chrome、Opera 和 Firefox 上进行了检查。结果是一样的。
或者,也许您有其他解决方案?
编辑
总结一下我的代码可以正常工作。我重写了整个代码,现在可以了。我不知道发生了什么,可能我的浏览器根本没有刷新脚本。将 line-height 设置为“0”是不必要的。getBBox 这就是我需要做的一切。
无论如何,感谢您的时间,对不起我的英语!:)