那么,当未在svg元素上设置width和height时,如何使用javascript获取SVG文件的大小? svg是一个字符串,但如有必要,可以将其设置为DOM。

最佳答案

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

document.getElementById('myelem').getBBox().width
document.getElementById('myelem').getBBox().height

我想是您要找的东西。

编辑:
  • 我最近还了解到鲜为人知的getBoundingClientRect()也可以工作!您也可以这样做:var el = document.getElementById('myelem'); var mywidth = el.getBoundingClientRect().width;
  • 请记住,getBBox和getBoundingClientRect之间存在区别。 getBBox获取初始尺寸-getBoundingClientRect还遵守使用scale等完成的转换
  • 关于javascript - 未设置<svg>的width/height属性时,获取svg图形大小,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1976877/

    10-12 12:22
    查看更多