Css IE 6-7 don';不服从填空/边距

Css IE 6-7 don';不服从填空/边距,css,internet-explorer,Css,Internet Explorer,我的页脚我有3列带填充:10px 20px 0px 在这些我有一些标题(h1/h2),页边空白顶部:10px 除了IE6和IE7之外,这在所有浏览器中都很正常 在IE6和IE7中,标题放置在距离容器顶部10px的位置。(缺少顶部填充,但左/右填充正常) 为什么? 欢迎来到web开发-Rob的评论是完全正确的,使用IE6和IE7的人不应该被允许在互联网上使用。你可以去看看IE bug的详细解释 在你改变你的风格之前,请允许我提出一些建议: 在html标题部分应用如下内容: <!--[if

我的页脚我有3列带填充:10px 20px 0px

在这些我有一些标题(h1/h2),页边空白顶部:10px

除了IE6和IE7之外,这在所有浏览器中都很正常

在IE6和IE7中,标题放置在距离容器顶部10px的位置。(缺少顶部填充,但左/右填充正常)

为什么?


欢迎来到web开发-Rob的评论是完全正确的,使用IE6和IE7的人不应该被允许在互联网上使用。你可以去看看IE bug的详细解释

在你改变你的风格之前,请允许我提出一些建议:

在html标题部分应用如下内容:

<!--[if IE 7]>
    <link rel="stylesheet" type="text/css" href="ie7.css">
<![endif]-->
这将添加到现有的CSS中,并将纠正您的问题


祝你好运。

辛库蒂莫对这个问题有一个很好的答案

我解决这个问题的另一种方法是将所有的边距都放在容器的底部

我注意到,如果a的div/container位于彼此的顶部(上面的container底部边距为1em,下面的container顶部边距为1em),则两个container的样式相同,即:

#imageDiv {
margin:1em;
}
)那么IE7只会给1个容器一个余量。因此,顶部和底部容器之间的间隙不是2米,而是1米

因此,在那之后,我决定尝试将底部边距分配给容器、图像等。例如:

#imageDiv {
margin-top:0em;
margin-right:1em auto;
margin-bottom:2em;
margin-left:1em auto;
}

如果你需要在你的最上面的容器上方有一个空的空间,因为它上面没有其他的容器,可以给它分配一个保证金的顶部大小,或者考虑把填充添加到身体中,即

body {
padding-top:1em;
}

如果避免在指定边框和填充的任何元素上指定高度或宽度,则可以避免浏览器的框模型实现中出现不一致的问题。如果你这样做,许多布局上的麻烦就会消失


有关更多信息,请参阅。

感谢您提供的所有答案和建议

经过一整夜的努力,我想出了一个对所有人都有效的解决方案,即:-)

用这个css在容器div的顶部添加一个
,解决了这个问题

clear: { both !important; display: block !important; height: 0 !important; margin: 0 !important; overflow: hidden !important; padding: 0 !important; width: 0 !important; }

你也可以发布你的HTML标记吗?哦,没关系-没有看到链接。你试过用标题上的
填充顶部替换
margin-top
吗?IE6不像IE7那样工作,IE8不像IE9那样工作,它们都是地球上最差的浏览器。你的问题是预期的,IE的标准:1;不起作用还是什么?
body {
padding-top:1em;
}
clear: { both !important; display: block !important; height: 0 !important; margin: 0 !important; overflow: hidden !important; padding: 0 !important; width: 0 !important; }