Firefox getComputedStyle返回" auto"

时间:2015-11-12 18:26:53

标签: javascript firefox

此问题之前已被问及关于"身高"和"宽度"属性,但我找不到有效的解决方案。

Firefox documentation说:

  

在Firefox中,值为auto的属性会返回已使用的值,而不是值auto

但是,window.getComputedStyle(element).getPropertyValue("top")会返回"auto"而不是像素值。有人知道解决方法吗?

Ubuntu 15.04上的Firefox 42.0

1 个答案:

答案 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;
&#13;
&#13;

这是position: relative的另一个:

&#13;
&#13;
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;
&#13;
&#13;

top应该是static元素的无操作。因此,在这种情况下使用Rect方法可能会更好。