【问题标题】:Javascript - ff and ie margin-top issueJavascript - ff 和 ie margin-top 问题
【发布时间】:2014-01-22 01:57:32
【问题描述】:

我正在为我的公司制作一个网页,它在 safari 和 chrome 中运行良好..

我对页面的所有内容都有一个包装器,并且我有一个 javascript 来检测我的包装器是否小于 innerHeight,然后将页脚放在底部,但由于某种原因,它在 IE 中不起作用和“Produkter”链接下的 FF。它不会将页脚一直放在底部,就像在这种特殊情况下 javascript 检测到包装器大于 innerHeight 一样,但是在“Produkter”下,包装器肯定比 innerHeight 更小! ...所有其他包装器小于 innerHeight 的地方都很好用,在 IE 和 FF 中也是如此。

.. 在 Safari 和 Chrome 中,一切正常..

我做错了什么?

编辑:忘记代码和链接xD

Javascript:

var screen_height = window.innerHeight;
var wrapper_height = document.getElementById("main-wrapper").offsetHeight;
if (wrapper_height > screen_height) {
document.getElementById("footer-wrapper").style.marginTop = 0;  
}
else {
var height_calc = screen_height - wrapper_height;
document.getElementById("footer-wrapper").style.marginTop = height_calc + "px";
}

链接:www.sipri.dk/siliva - 如果有人想看看。

【问题讨论】:

    标签: javascript css internet-explorer firefox


    【解决方案1】:

    看起来好像您在“Produkter”下的某些内容上有一个底部边距。非浮动元素的垂直边距是可折叠的,这会影响您在 place_footer() 中的上边距计算。

    #wrapper div 上放置一个 1 像素高的下边框应该可以防止该 DIV 内元素的下边距与 #footer-wrapper 上的上边距折叠。

    另一种方法是定位 #footer-wrapper 相对位置,并使用 CSS 中的“top”属性而不是上边距。这也将防止任何与折叠边距有关的问题。

    【讨论】:

    • 成功了!谢谢! ..尽管如此,仍然有问题,这对我来说变得复杂了!请帮助 :) - 现在查看链接“Kontakt”下的页面。
    • 我在看“Kontakt”,我看不出有什么问题。你能详细说明一下吗?
    • 在我的浏览器上看起来很奇怪......虽然在所有浏览器中都是一样的,但是错了!在“kontakt”下,它看起来像这样:www.sipri.dk/siliva/kontakt.jpg ...而且它看起来像其他页面上的页脚。有趣的是,如果我将它从从我开始的地方,“Kontakt”页面效果很好..
    • 还有其他问题在起作用。确保正确清除浮动元素。 #main-wrapper DIV 可能不是您认为的高度。
    • 你的权利,浮动把它搞砸了......删除了浮动和使用的位置:绝对和margin-left曾经浮动的地方......现在它工作了! :D 谢谢!
    猜你喜欢
    • 1970-01-01
    • 2011-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-19
    • 1970-01-01
    • 2013-08-26
    相关资源
    最近更新 更多