获得SVG/G元素的实际大小

Emi*_*mil 23 javascript svg

是否有任何准确的方法来获取svg元素的实际大小,包括笔画,过滤器或其他元素,从Javascript中贡献元素的实际大小?

我已经尝试了几乎所有想到的东西,现在我觉得我走到了尽头:-(

更新了问题以添加更多上下文(Javascript)

Chr*_*oph 33

您无法直接获取值.但是,您可以获取边界矩形的尺寸:

var el   = document.getElementById("yourElement"); // or other selector like querySelector()
var rect = el.getBoundingClientRect(); // get the bounding rectangle

console.log( rect.width );
console.log( rect.height);
Run Code Online (Sandbox Code Playgroud)

至少在所有主要浏览器的实际版本中都支持它.

检查小提琴

  • 注意a)这是在屏幕空间而不是SVG单位空间,但更重要的是b)这[不考虑笔画宽度](http://www.w3.org/TR/SVG11/coords.html#ObjectBoundingBox) . (6认同)