2011-05-27 78 views
-1

有没有什么办法让IE7正确解释CSS,就像在Firefox或其他? 我有宽度+填充div属性的问题。火狐上的div填充/ IE7

在FF/IE8 + div上自动展开,并且该div的内容居中,但在IE7中div移动到右侧,溢出隐藏了其余内容。看看下面的图片:

padding preview http://uploadpic.org/storage/2011/D8AHkOOwH8DhIFlogShP0zhPG.jpg

有没有办法破解吗? 一些CSS代码:

#center { width: 50%; height:auto; position:relative; padding-left:500px; } 
#both { width:1000px; float:right; } 
#content_home { width:698px; margin:0 auto; min-height:400px; 
    float:left; position:relative; } 

和HTML代码:

<div id="center"> 
    <div id="both"> 
     <div id="content_home"> 
      <p>...</p> 
     </div> 
     <div id="right"> 
      <p>...</p> 
     </div> 
    </div> 
    <div class="clear"></div> 
</div> 
+0

你有活的链接吗? – 2011-05-27 15:49:02

+1

什么是您的文档类型(如在您的问题中包括它)? – 2011-05-27 15:54:20

+0

您发布的代码不会显示您描述的行为。 http://jsfiddle.net/gilly3/xMUVU/。 – gilly3 2011-05-27 15:55:09

回答

0

最好的办法是针对IE7及以下特定风格,因为他们错误地适用了盒模型。您可以使用条件主体标签来做到这一点。

在你的CSS
<!-- Conditional CSS include for IE6 and below --> 
    <!--[if lt IE 7 ]><body class='ie6'><![endif]--> 
    <!-- Conditional CSS include for IE7 --> 
    <!--[if IE 7 ]><body class='ie7'><![endif]--> 
    <!-- Conditional CSS include for IE8 --> 
    <!--[if IE 8 ]><body class='ie8'><![endif]--> 
    <!-- Conditional CSS include for IE9 --> 
    <!--[if IE 9 ]><body class='ie9'><![endif]--> 
    <!--[if !IE]>--><body><!--<![endif]--> 

则...

body.ie7{ 
    width:12345px; 
} 
0

不知道这是否会在你的情况下工作,但你试过IE7.js修复?这是一个方便的JavaScript文件,旨在使IE浏览器符合标准。这可能值得一试。

http://code.google.com/p/ie7-js/

+0

我试过了,我认为它可以工作,但是当我上传文件并在IE7上检查时,它又发生了。 – Kamil 2011-05-27 18:40:52