为什么我的右边距重叠在IE的左边距?

时间:2012-02-03 14:39:43

标签: css internet-explorer margin

在FF或safari中一切正常,但IE正在创建与我的边距重叠的问题,我无法弄清楚如何修复css来解释它。我试过使用css重置文件,它实际上让事情变得更糟。我可以在原始CSS中修改以解决问题吗?

Website page

CSS Stylesheet

2 个答案:

答案 0 :(得分:0)

你会想要进行浏览器检查,说明浏览器是否使用不同的css文件。如果你需要改变很多东西,这都有效。您也可以将这些条件注释用于内联css。

<!--[if !IE]-->
    <link type="text/css" rel="stylesheet" href="/css/StandardsCompliant.css" />
<!--[endif]-->
<!--[if IE]> 
    <link type="text/css" rel="stylesheet" href="/css/ie.css" /> 
<![endif]-->

查看此链接以获取更多信息 http://www.quirksmode.org/css/condcom.html

答案 1 :(得分:0)

根据您的描述,很难准确理解发生了什么。这可能是由于IE保证金错误或其他原因导致保证金崩溃(见http://complexspiral.com/publications/uncollapsing-margins/)。

最简单的IE修复方法是使用条件注释为IE制作特定的样式表。 例如。

<!--[if IE 8]>
    <link rel="stylesheet" type="text/css" href="ie8.css">
<![endif]-->

这也是一个干净的解决方案,因为性能受到影响的只是浏览器出现问题,主样式表不会过于复杂。

详细了解http://www.quirksmode.org/css/condcom.html

中的条件评论

针对特定浏览器的另一个常见策略是使用JS来检测浏览器,将相关类附加到DOM中的html或body-elements(例如,类名为ie7,ie8,chrome11,...)然后像这样在css中使用它:

.button {width: 100px; padding: 10px;}
.ie7 .button {width: 120px; padding: 10px;}

这可以为浏览器版本编写简单的修复程序。