此问题之前已被问及关于"身高"和"宽度"属性,但我找不到有效的解决方案。
在Firefox中,值为
auto
的属性会返回已使用的值,而不是值auto
。
但是,window.getComputedStyle(element).getPropertyValue("top")
会返回"auto"
而不是像素值。有人知道解决方法吗?
Ubuntu 15.04上的Firefox 42.0
答案 0 :(得分:0)
您的元素看起来像position: static
。任何其他类型的定位似乎都可以正确计算。这是对静态元素的测试:
document.getElementById('results').innerHTML = window.getComputedStyle(document.getElementById('element')).top;

#element {
top : auto;
}

<div id="element"></div>
<pre id="results"></pre>
&#13;
这是position: relative
的另一个:
document.getElementById('results').innerHTML = window.getComputedStyle(document.getElementById('element')).top;
&#13;
#element {
position: relative;
top : auto;
}
&#13;
<div id="element"></div>
<pre id="results"></pre>
&#13;
top
应该是static
元素的无操作。因此,在这种情况下使用Rect方法可能会更好。