css怎么设置最大高度和最小高度

html-css020

css怎么设置最大高度和最小高度,第1张

布局过的人都知道CSS的最小高度min-height是个很有用的属性,它可以让很短的内容也有一个很合适的高度,使页面显得美观。但很可惜IE6不支持这一属性。怎么办呢?我们可以用另外一种方法让IE6也有最小高度min-height属性的效果。众所周知,如果内容超过元素的高度,那么IE6是会自动增加元素的高度,即使你明确的定义了元素的高度。我们可以利用IE6的这个bug来让IE6也有最小高度min-height属性的效果。具体代码如下:height:auto !importantheight:500px解释:1、由于IE6对!important的解释存在bug,所以它只识别height:500px这一句,超过500px后,IE6自身会增加盒子的高度;2、IE7和其他标准浏览器三句都能识别,虽然定义height:500px,但我们又有了height:auto !important,所以超过500px也能自动增加盒子的高度。三句代码让IE6也有了最小高度min-height的效果,简单又实用,不错吧。

这个其实很简单,只要加上两条语句就行了。

#obj{

min-height:500px

_height:500px

}

第一条min-height:500px这是针对IE7和FF的,因为IE6不支持min-height属性。而第二条是用了hack,因为_height只有IE6才认识,对IE7和FF不起作用。因为IE6里面,如果内容超出了height指定的高度,则容器会被撑大。切记不能给#obj加overflow:hidden属性哦。

这里需要用到只有IE能够识别的expression,实现方法请查看下边css代码:

/* 最小高度 */

.min_height{

  min-height:200px

  /* sets min-height for IE */

  _height:expression(this.scrollHeight < 200 ? "200px" : "auto")

}

/* 最大高度 */

.max_height{

  max-height:400px

  /* sets max-height for IE */

  _height:expression(this.scrollHeight > 400 ? "400px" : "auto")

}

通过这个写法,也就可以得到延伸。比如最小宽度,最大宽度问题。