首页 文章

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

提问于
浏览
17

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

2 回答

  • -3

    SVG是可缩放的矢量图形,因此可以具有任意高度和宽度 . 只有比率由格式确定 .

  • 38

    您可以使用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也尊重 transformations 用尺度等完成 .

相关问题