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