首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >SVG获取文本元素宽度

SVG获取文本元素宽度
EN

Stack Overflow用户
提问于 2009-10-28 20:04:53
回答 4查看 94.1K关注 0票数 113

我正在为SVG文件编写一些ECMAScript/JavaScript,需要获取text元素的widthheight,这样我就可以调整它周围的矩形的大小。在HTML语言中,我可以在元素上使用offsetWidthoffsetHeight属性,但是这些属性似乎不可用。

这是我需要处理的一个片段。每当我更改文本时,我都需要更改矩形的宽度,但是我不知道如何获得text元素的实际width (以像素为单位)。

代码语言:javascript
复制
<rect x="100" y="100" width="100" height="100" />
<text>Some Text</text>

有什么想法吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-10-28 20:38:24

代码语言:javascript
复制
var bbox = textElement.getBBox();
var width = bbox.width;
var height = bbox.height;

然后相应地设置rect的属性。

链接:SVGV1.1标准中的getBBox()

票数 169
EN

Stack Overflow用户

发布于 2017-03-30 20:26:45

代码语言:javascript
复制
document.getElementById('yourTextId').getComputedTextLength();

在我工作的时候

票数 10
EN

Stack Overflow用户

发布于 2014-06-02 03:23:19

关于文本的长度,该链接似乎表明BBox和getComputedTextLength()返回的值可能略有不同,但它们彼此非常接近。

http://bl.ocks.org/MSCAU/58bba77cdcae42fc2f44

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1636842

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档