我试图获取SVG字符串的高度。我用getComputedTextLength()得到宽度,效果很好,但高度似乎没有任何等价物。获取SVG字符串的高度
getBBox()不是一个选项。 Firefox不再支持它,至少不用于文本,显然是因为它是SVG 2.0的一部分。
我试图获取SVG字符串的高度。我用getComputedTextLength()得到宽度,效果很好,但高度似乎没有任何等价物。获取SVG字符串的高度
getBBox()不是一个选项。 Firefox不再支持它,至少不用于文本,显然是因为它是SVG 2.0的一部分。
任何元素,你可以使用getBoundingClientRect()
。看看文档here。在一些浏览器中,返回的矩形不具有高度属性,但通过简单减去rect.bottom - rect.top
即可获得它。
请注意,getBoundingClientRect()
将返回绝对空间中的值,getBBox()
将返回元素用户空间中的值,如果它应用了转换,可能会造成混淆。
在Firefox 31.1.0,Linux上引发NS_ERROR_NOT_IMPLEMENTED。 – SixDegrees 2014-09-19 12:03:17
关于这个答案中的例子?或者在其他情况下,您涉及tspan/textPath? – 2014-09-19 12:48:12
不确定你的意思是“不再支持”,getBBox至少在Firefox Nightly 34的元素上工作正常,我相对确定这已被支持了很长时间。 –
2014-09-19 14:26:38
不适用于tspan,但 – eagor 2015-06-15 11:33:21