我有一个布局问题,看起来像是浏览器的bug。
它只在FF3中表现出来(还没有测试过ff2)。
它只在第一次加载页面时出现。如果我调整窗口的大小,它就会正常工作。
当我在有问题的元素上设置边界时,它就消失了,当我取消边界时,它又回来了。
其他属性不会更改。
以下是问题的图像:

Firebug的DOM检查器认为页脚在这两种情况下都跨越了整个宽度。似乎只有text-align:center没有正确考虑全宽。*更新:取消文本对齐:居中不能解决问题。文本与屏幕左侧(正确)或紫色方框(不正确)齐平。
您可以在屏幕上看到的1px紫色边框是#centerHolder,它是另一个元素的子元素,应该不会影响页脚的布局,尽管它显然会影响。*更新:将紫色方框的高度缩小到85%,这不可能是阻碍的地方,但根本不会改变问题。文本仍然认为紫色框挡住了去路。
感谢您的评论和想法。
HTML:
<div id="container">
<div id="centerHolder"></div>
</div>
<p id="footer">
Copyright ©2009 Lala Corporation
<a class="link" onclick="ContactUs_OnClick(); return false;" href="#">Contact Us</a>
</p>CSS:
#container{
position:relative;
height:96%;
min-height:600px;
width:100%;
min-width:975px;
max-width:1300px;
margin:0 auto;
z-index:2;
}
#centerHolder {
float:left;
margin-left:245px;
width:10%;
z-index:1000;
}
#footer {
border:1px solid green;
margin:0;
padding-top:5px;
position:relative;
text-align:center;
z-index:1;
}发布于 2009-11-25 00:21:48
您的#footer上需要clear: both;,它不会清除浮动的div #centerHolder
发布于 2009-11-25 00:21:56
我想你的页面上还有一些你找不到的东西。例如未正确闭合的可能的DIV标签。如果标记处于打开状态,但不在您想要的位置,FireFox将为您关闭标记。纠正这个问题的边界似乎迫使DOM意识到对象应该跨越更大的范围。请参阅我直接从您的示例中提取的以下代码,并对其进行测试。它在我安装的FF 3.5.5上工作得很好。
注意:定位不正确闭合标记的快速方法是将HTML重命名为XML文件扩展名,并使用FF打开它。它应该正确地解析文件。如果不是,它将指向标签被打开的位置。
<html>
<head>
<style>
#container{
position:relative;
height:96%;
min-height:600px;
width:100%;
min-width:975px;
max-width:1300px;
margin:0 auto;
z-index:2;
}
#centerHolder {
float:left;
margin-left:245px;
width:10%;
z-index:1000;
}
#footer {
/*border:1px solid green;*/
margin:0;
padding-top:5px;
position:relative;
text-align:center;
z-index:1;
}
</style>
</head>
<body>
<div id="container">
<div id="centerHolder">Here's some text</div>
</div>
<p id="footer">
Copyright ©2009 Lala Corporation
<a class="link" onclick="ContactUs_OnClick(); return false;"
href="#">Contact Us</a>
</p>
</body>
</html>如果你发现了什么让我知道。总是有兴趣知道你发现了什么。
https://stackoverflow.com/questions/1791068
复制相似问题