2009-02-06 59 views
8

我有一个非常简单的问题,我需要一个div来扩大以适应其内容,除非高度达到一定的大小,当我想让div垂直滚动。作为测试,我创建了一个页面,其中包含:CSS最大高度不工作

<div style="width:300px;max-height:25px;background-color:green;overflow:auto;"> 
    1<br /> 
    2<br /> 
    3<br /> 
    4<br /> 
    5 
</div> 

不幸的是,最大高度似乎不起作用。我究竟做错了什么?

我正在使用IE7。

回答

7

问题是您的浏览器。也许你可以将这个div包装在另一个具有25px固定高度的div中。当然这不会和max-height完全一样。

An article about a solution.

编辑:According to Microsoft应该在IE7 +工作。

您是否设置了适当的文档类型?如果不是IE7使用旧的布局引擎。您应该使用HTML 4或XHTML。

5

这里的跨浏览器的方式来设置最小高度:

min-height: 400px; 
height:auto !important; 
height:400px; 

IE对待高度属性作为最小高度,并且忽略最小高度。

编辑:将该问题误读为最小高度! (> _ <)

+0

这会解决最大高度问题吗? – 2009-02-06 15:31:56

+0

不是我所知道的。我认为你需要使用CSS表达式(ugh)或javascript来修复max-height。 这只适用于因为IE将高度视为最小高度,并将使用最后一条规则出现,所以它忽略了'自动'。 如果你得到它的工作,虽然我很想知道:)。 – tj111 2009-02-06 15:35:19

2

您的代码适用于我。

当我用一个页面包装它!

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 

<head> 
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" /> 
<title>1 2 3 4 5</title> 
</head> 

<body> 
<div style="width:300px;max-height:25px;background-color:green;overflow:auto;"> 
    1<br /> 
    2<br /> 
    3<br /> 
    4<br /> 
    5 
</div> 
</body> 

</html> 

适用于IE7和Chrome的罚款。

FF3不给我滚动条。

但是最大高度在所有三个中都能正常工作。

虽然您的代码段不起作用,但没有周围的页面。我建议在HTML的有效页面中测试代码。 *微笑*