美文网首页
SVG中标签的宽度高度及位置坐标

SVG中标签的宽度高度及位置坐标

作者: ouxuwen | 来源:发表于2018-05-07 17:24 被阅读0次

getBBox()

返回表示当前元素的计算边界框的DOM矩阵。

getBoundingClientRect()

返回元素的大小及其相对于视口的位置。

我们分别来尝试一下:
document.getElementById("XMLID_4335_").getBBox()

image.png

document.getElementById("XMLID_4335_").getBoundingClientRect()

image.png
  通过比较发现两个方法得到的两组对象的数值并不一样,不难发现原因为:
  getBBox() 获得的为元素在当前SVG坐标中的数据,而 getBoundingClientRect 则是获取了了浏览器坐标中的数据(因为SVG标签中的ViewBox属性影响,实际渲染在浏览器中的大小及位置是经过偏移和缩放的)。
  两个方法的作用不仅局限在SVG元素中,童鞋们不妨试试在其他元素和特定环境中的奇妙运用。

相关文章