Chrome和Firefox之间的高度计算方式有所不同?

时间:2012-07-06 09:20:08

标签: javascript css

请在Chrome和Firefox下查看www.qualificationcheck.com。 Alt-tab在他们之间快速来回,专注于那个小小的绿色'帮助& amp;反馈'侧面标签。

似乎移动位置!这是为什么?

它包含在第三方Javascript文件中。我已经研究过它如何计算它的位置。

首先设置top: 50%以使其大约在视口下方的50%处。

然后设置

margin-top: [ "-",Math.round(tab.dimensions.height / 2), "px" ].join("")

即减去标签高度的一半,使其稍微向上移动,使其“中间”实际上是视口向下50%(而不是“顶部”)。

在Firefox中使用Chrome开发工具然后使用firebug我可以看到在Chrome中,margin-top最终为-33px,而在Firefox中最终为-87px。

为什么会有差异?

它很烦人,因为我想在它上面或下面添加我自己的标签,但如果我不能依赖第三方一直处于相同的位置,我无法确定在哪里放置我自己的标签!

3 个答案:

答案 0 :(得分:1)

对不起家伙,其他答案都没有帮助。

我通过基本复制第三方js然后调整它来解决这个问题,这样我就可以把它和我的新标签放在一起了。

所以基本上只是一个解决方案,而不是问题的答案。

答案 1 :(得分:0)

尝试添加padding-top:?px,Firefox和Chrome应该相同。网上的一些人报告了类似的边缘崩溃问题(显然不是错误):

http://www.sitepoint.com/forums/showthread.php?829681-CSS-margins-displaying-differently-on-Firefox-Ie-Chrome

Margin Discrepancies between Firefox and Chrome/Safari

答案 2 :(得分:0)

Firefox(以及最近的Chrome)以不同的方式解释边距和填充。边距和填充值添加到div高度/宽度。你可以通过将它添加到你的css(把它放在顶部)来解决这个问题(至少对于FF):

DIV {
   -moz-box-sizing:border-box;
   box-sizing:border-box;
}