我使用的是两列布局,导航栏放置为float:left。内容div使用margin-left,因此它位于它旁边。
一切都很好,除非我在内容div中使用宽度为100%的div,它会向下移动到导航栏的底部。
这只适用于IE6,其他所有浏览器都可以使用它(IE7 + / FF / Chrome)。我通常不会担心IE6太多,但这是一个很大的问题,因为使用长导航栏看起来页面是空的,除非你向下滚动到底部。
我假设它是导致问题的内部div上100%宽度的请求,并且IE6错误地将其视为对100%页面的请求,而不仅仅是包含内容div。
关于变通方法的任何想法?现场演示: http://www.songtricks.com/Ie6ClearBug.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
*
{
margin:0px;
padding:0px;
}
.left
{
width:300px;
float:left;
background-color:#CFF;
}
.left .navpanel
{
height:300px;
width:200px;
border:solid 1px black;
margin:10px auto;
}
.right
{
margin-left:300px;
background-color:#FFC;
}
</style>
</head>
<body>
<div class="left">
<div class="navpanel">navpanel</div>
</div>
<div class="right">
<div style="width:100%;">this should be at the top</div>
</div>
</body>
</html>
好的,我找到了答案。新用户无法回答他们自己的问题,所以就是这样。
原来可以在IE6中通过将内部div的宽度略微减少到99%(或使其自动化,然后由浏览器自行决定是否获得全宽度)来标准化行为。 div或不,取决于其中的内容。)
因此影响最小的解决方案是使用:
<div class="right">
<div style="width:100%;_width:99%;">this should be at the top</div>
</div>
这使普通浏览器不受影响,并为IE6安全地保留了99%。
答案 0 :(得分:0)
我很抱歉我不太了解你的问题,我没有IE 6 ..所以我不能测试你的CSS ...但是:我可以说一下你的CSS。 首先,您需要将float:left添加到.right类。 其次,如果您在浮动的同一侧设置保证金,IE将保证金加倍。 我希望你理解我的英语......对不起!!
第三:我不记得确切,但有些浏览器计算div内的边框,div之外的其他...所以如果你设置的东西:div宽度300px和边框1px,你可以找到你的div总宽度是301pxbye bye