天天看点

Div高度控制问题

做网页时尽量是不用设置固定高度的,这样拓展起来更灵活,如果非要设固定高度,就有一些需要注意的地方。

IE6和IE7对CSS的解释存在很多差别,今天谈其中一点:height。

例子:<div style="height:50px">

IE6下:如果DIV里的内容高度不超过50px,DIV的高度就是50px,如果超过了设定的值,高度会随内容而撑开,也就是通常说的自适应高度。

IE7下:如果DIV里的内容高度不超过50px,DIV的高度就是50px,如果超过了设定的值,DIV的高度仍会固定在50px,多余的内容会超过DIV而溢出,如果DIV下面还有其它内容,就会和溢出的内容重叠在一起。

这显然是一个非常值得注意的地方,若不处理会引起页面错乱。解决这个问题通常分两种情况:

一,高度为主:让DIV的高度固定为50px,多出的内容要隐藏,两个浏览器的CSS可一并写为:<div style="height:50px;overflow:hidden">, overflow:hidden 这个很重要,兼容性全靠他了

二:内容为主:让DIV高度最小为50px,内容过多时DIV高度自适应内容多少。这时需要用到CSS HACK做一些兼容处理:

<div style="min-height:50px;_height:50px;">, min-height:50px 最小高度, 这个IE7和FF可识别, _height:50px 加下划线目的只让IE6识别。