javascript - 如何获得 SVG 的纵横比?

标签 javascript css d3.js svg

<分区>

有没有办法获得加载的 svg 的纵横比?我希望能够了解 preserveAspectRatio 属性中的缩放比例。 documentation说明对于 meet:

  • 保持宽高比
  • 整个 viewBox 在视口(viewport)内可见
  • viewBox 尽可能地放大,同时仍然与另一个相接 标准

有没有办法检索属性以某种方式在 JS 中知道的纵横比?

最佳答案

像 Phrogz 的 answer 中描述的那样获取 viewBox 的值相当容易至 "Obtaining an original SVG viewBox via javascript" :

var svg = document.querySelector('svg');
var box = svg.viewBox.baseVal;

从中获取纵横比只需要简单的数学运算:

var aspectRatio = box.width / box.height;

关于javascript - 如何获得 SVG 的纵横比?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38947966/

上一篇:php - 如何从按钮中获取值

下一篇:javascript - 使用JS写CSS会取消:hover properties defined in stylesheet

相关文章:

javascript - 在 JavaScript 中取消选中复选框时显示确认消息

javascript - 使用 Angular 在鼠标悬停时显示兄弟元素

javascript - Google Apps 脚本支持哪个版本的 ECMA-262?

CSS float 属性和 block

css - 如何在 Bootstrap 中使用滚动条实现固定的全高 div

javascript - d3js。缩放和平移后的坐标。如何计算呢?

javascript - d3.js 饼图图例切片切换

javascript - 列未针对移动 View 正确调整大小

Javascript 下拉菜单显示/隐藏 Div

javascript - 完整 d3 图表的故障/消失