天天看點

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識别。