那么当svg元素没有设置宽度和高度时,如何用javascript获取SVG文件的大小? svg是一个字符串,但必要时可以创建一个DOM。
答案 0 :(得分:38)
您可以使用SVGElement对象的getBBox()方法。它会以像素为单位告诉您宽度和高度,x和y偏移量,而不考虑元素的缩放比例。
document.getElementById('myelem').getBBox().width
document.getElementById('myelem').getBBox().height
我认为,是您正在寻找的。 p>
编辑:
我最近还了解到,鲜为人知的getBoundingClientRect()
也有效!您也可以这样做:var el = document.getElementById('myelem'); var mywidth = el.getBoundingClientRect().width;
请注意,getBBox和getBoundingClientRect之间存在差异。 getBBox获取初始维度 - getBoundingClientRect也尊重使用scale等完成的转换。
答案 1 :(得分:-3)
SVG是可缩放的矢量图形,因此可以具有任意高度和宽度。只有比率由格式确定。