未设置<svg>上的width/height属性时获取svg图形大小

Spa*_*hut 17 javascript svg

那么如果在svg元素上没有设置宽度和高度,如何用javascript获取SVG文件的大小?svg是一个字符串,但如果需要可以创建一个DOM.

Kea*_*her 38

您可以使用SVGElement对象的getBBox()方法.它会以像素为单位告诉您宽度和高度,x和y偏移量,而不考虑元素的缩放比例.

document.getElementById('myelem').getBBox().width  
document.getElementById('myelem').getBBox().height
Run Code Online (Sandbox Code Playgroud)

我想你正在寻找什么.

编辑:

  1. 我最近也了解到这个鲜为人知的getBoundingClientRect()作品!你也可以这样做:var el = document.getElementById('myelem'); var mywidth = el.getBoundingClientRect().width;

  2. 请记住,getBBox和getBoundingClientRect之间存在差异.getBBox获取初始维度 - getBoundingClientRect也尊重使用scale等进行的转换.

  • `getBBox`返回`{[..],width:0,height:0}``getBoundingClientRect`也是如此.后者不仅适用于FireFox. (5认同)