【发布时间】:2012-07-06 06:41:28
【问题描述】:
我遇到了仅在 Firefox 中出现的最奇怪的定位问题。
我的 HTML:
<article id="one" class="layer"></article>
<article id="two" class="layer"></article>
<article id="three" class="layer">
<div class="left"></div>
<div class="right"></div>
</article>
我的 CSS:
html, body {
margin: 0; padding: 0;
height: 100%;
width: 100%;
}
article.layer {
position: relative;
display: table;
height: 100%;
width: 100%;
}
article .left, article .right {
position:absolute;
width: 50%;
height: 100%;
min-height:100%;
display:table;
}
article .left { left: 0; top: 0; }
article .right { left: 50%; top: 0; }
所以每篇文章都设置为display:table 和 100% 宽度和 100% 高度。正文和 html 也是 100% 宽和高。因此每篇文章都是当前浏览器窗口的大小。
请注意,每个article.layer 都设置为position:relative。
最新文章中有两个divs,定位为absolute,因此一个位于左侧,一个位于右侧。
这适用于所有浏览器,Firefox 除外。在 Firefox 中,最后一篇文章的 div.left 和 div.right 显示在顶部并覆盖第一篇文章……
这是一个现场演示:http://jsbin.com/ubulot/edit#preview 在 Firefox 中测试它,你会发现问题。我的 Mac 上安装了 FF 9.0.1。
知道我在这里做错了什么吗?
【问题讨论】: