IE7向右浮动导致父元素占据整个宽度



我对此感到非常困惑,也不完全理解IE7的问题。有问题的页面在这里,我说的是顶部的灰色菜单栏。在所有其他相当现代的浏览器上,它看起来都很好。在IE7(可能还有IE6,但我们不支持)上,具有float:rightdiv.navArrow元素一直向右推,使父元素<li>占据页面的剩余宽度。

我不知道从哪里开始解决这个问题。有什么想法吗?

我实际上已经通过为IE7及以下版本应用一个特殊的css来解决了这个问题。我给父<li>一个float:right样式,给div.navArrow一个float:none样式。这似乎奏效了。

Meybe将帮助您使用任何类型。根据经验,我知道position: relative;不能解决的问题,你可以在IE7中用zoom: 1;来解决。Facebook使用这个clearfix:

.clearfix{
    zoom: 1;
}
.clearfix::after {
    clear: both;
    content: ".";
    display: block;
    font-size: 0;
    height: 0;
    line-height: 0;
    visibility: hidden;
}

如果内容没有从容器中流出并不重要,那么您可以使用overflow: hidden;设置容器,并且使用它可以很好地工作。

DOCTYPE前面有一个空格,这是最有可能引发此问题的原因。此外,定义一个正确的DOCTYPE(如<!DOCTYPE html>)并验证您的页面,因为它充满了错误。

http://validator.w3.org/check?uri=http%3A%2F%2Fmpreview.ami.co.nz%2F&charset=%28detect+自动%29&doctype=内联&group=0

最新更新