我正在尝试获取设置了 viewBox 的 svg 元素的左侧位置。viewBox 基本上是一个正方形,而实际的 svg 元素更像是矩形。在大多数情况下,这不是问题(在 Chrome 中,一切正常),但是,当试图在 Firefox 中获取元素的左侧位置时,由于 viewBox 是方形的,Firefox 会报告 viewBox 的左侧位置而不是比 svg 元素。
见http://jsfiddle.net/c6SW6/11/的示例,该示例应该使事情变得显而易见。
基本上,在 Chrome 中,左侧位置报告的数字是 8 这是我想要的数字。在 Firefox 中,它报告为 108。如何让 Firefox 也报告数字 8?
代码
HTML
<div>
<svg viewBox="0 0 100 100"><rect x=0 y=0 width=100 height=100></rect></svg>
</div>
<p>
</p>
CSS
div {
height: 100px;
width: 300px;
margin: 0;
padding: 0;
position: absolute;
top: 200px;
}
svg {
background-color: green;
height: 100%;
width: 100%;
}
JS
$('p').text($('svg').offset().left);