我在定义left
,right
和bottom
的元素上调用getComputedStyle。
在Chrome中,这会返回'auto'
作为top
的值,但在Firefox中会返回像素值,但是如果您查看Firefox中的检查器,则top
值不会出现。 t显示在计算窗格中。
有没有办法解决这个问题?这是一个显示问题http://jsfiddle.net/DEfusion/9NaGD/
的小提琴答案 0 :(得分:1)
通过:https://developer.mozilla.org/en/docs/Web/API/window.getComputedStyle
在Firefox中,值为auto的属性将返回已使用的值,而不是auto值。所以如果你申请top:auto;和底部:0;在一个高度为30px的元素上,其包含的块是高度:100px;,在请求顶部的计算样式时,Firefox将返回顶部:70px,为100px-30px = 70px。
答案 1 :(得分:1)
老问题,但我也遇到了这个问题,得到了解决方案,正如囚犯所说,Firefox做的事情与某些属性有所不同,它会返回使用的值(它会自动转换为像素)而不是解决了价值。幸运的是,自Firefox 19以来,有一个名为getDefaultComputedStyle的解决方案,仅在firefox中支持并返回已解析的值。
一种方法是测试浏览器,如果使用Firefox则使用getDefaultComputedStyle,否则使用getComputedStyle