在FF或safari中一切正常,但IE正在创建与我的边距重叠的问题,我无法弄清楚如何修复css来解释它。我试过使用css重置文件,它实际上让事情变得更糟。我可以在原始CSS中修改以解决问题吗?
答案 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;}
这可以为浏览器版本编写简单的修复程序。