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