IE中的高度显示与firefox不同

时间:2010-05-05 12:43:31

标签: css internet-explorer firefox height

我在显示设置高度时遇到问题。

在我的CSS中,我为侧栏div设置了一个2150px的高度;它在firefox中显示正常但在ie中没有显示完整的高度。

我怎样才能显示我设定的高度ie?

提前致谢

源代码在

之下
#sidebar_newspr{
width:160px;
min-height:2150px; 
margin-top:1px; margin-right:2px;
border-right-style:solid; border-right-color:#900; border-right-width:1px;
float:left;
}
 #sidebar_newspr a{
 text-decoration:none;
 color:#FFF;
 font-size:12px; font-family:Verdana,Arial,Helvetica,sans-serif;
 }
 #sidebar_newspr a:hover{
 color:#900;
 }

3 个答案:

答案 0 :(得分:2)

这是一个黑暗的镜头,因为你没有真正指定你正在测试它的IE版本。然而,min-height要求IE7和IE8在标准模式下运行。要启用标准模式,您需要使用严格的!DOCTYPE

来自the documentation

  

Internet Explorer 7 中,min-height / max-height属性适用于浮动和绝对定位块,内联块元素和一些内部控件。它们不适用于未替换的内联元素,例如表列和行/列组。 (“被替换”元素具有内在维度,例如img或textArea。)

     

Internet Explorer 7 中,此属性仅在严格!DOCTYPE下启用。

IE6中的

min-height仅适用于thtdtr元素。

答案 1 :(得分:0)

尝试使用条件评论:

<!--[if lt IE 9]> //will target IE less than version 9
        <link href="/directroy/IE.css" rel="Stylesheet" type="text/css"/>
<![endif]--> 

到你的head标签并使用这个新的样式表来定义你想要IE做什么。

#sidebar_newspr{
width:160px;
height:2150px; /*change to just height*/
margin-top:1px; margin-right:2px;
border-right-style:solid; border-right-color:#900; border-right-width:1px;
float:left;
}

您还可以使用多个条件注释来定位不同版本的IE。

像这样:

<!--[if IE 8]> //will target only IE 8
        <link href="/directroy/IE.css" rel="Stylesheet" type="text/css"/>
<![endif]--> 

然后尝试将您的doctype设置为strict:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

可能会工作,如果没有,那么我确定其他人有另一个想法:)

答案 2 :(得分:0)

某些版本的IE不喜欢min-height,我尽量避免使用它。

作为一种快速的解决方案,不会像仅使用IE的样式那样权衡您的页面,只需说明height:2150px; min-height:2150px;支持min-height的浏览器将采用它,而不支持它的浏览器将忽略它