**:
本文和大家重點討論一下div高度自適應及注意問題,主要包括父div高度隨子div的高度改變而改變和子div高度隨父親div高度改變而改變兩種情況。
div高度自適應及注意問題
一、div高度自適應(父div高度隨子div的高度改變而改變)
1、如果父div不定義height、子div均為標準流的時候,父div的height隨內容的變化而變化,實現父div高度隨子div的高度改變而改變。
**:
父div
子div
子div
效果:ie、ff下一致
2、如果父div定義height,子div均為標準流的時候,在ie下父div的height隨內容變化而變化,ff中則固定大小,如父div設定height:50px
**:
父div
子div
子div
ie效果
ff下效果
3、如果子div使用了float屬性,此時已經脫離標準流,父div不會隨內容的高度變化而變化,解決的辦法是在浮動的div下面,加乙個空div,設定clear屬性both
未加空div**:
父div
子div
子div
ie效果:
ff效果:
修改後**:
父div
子div
子div
修改後效果:ieff一致
4.另類的div高度自適應
原理:padding-bottom將列拉長變的一樣高,而負的margin-bottom又使其回到底部開始的位置,同時,溢位部分隱藏掉了。此方法必須加文件資訊才能正常顯示
**:
子div
子div
子div
效果:
二、div高度自適應(子div高度隨父親div高度改變而改變)
在有邊框的情況下,你會發現同乙個div,在ie下的高度和在ff下的高度是不一樣的,比如你設定了高度為100px的div,邊框是border:5px;ie的高度是5+5+空白區域=100px,而ff下高度是100px的div是不包括高度的,只是空白區域的高度,如下圖黑框的部分:
黑框的上方是對齊的,但是設定了同樣的高度,效果卻不一樣,**如下:
子div
子div
如果沒有設定邊框,完全沒有高度不一致的情況,子div適應父div很簡單,如上面**,只是在子div加了height:100%屬性即可。如果設定了邊框,可以把子div的高度設定為比父div小上下邊框高度的值,比如在此例中,可把#bb中height改為100-5-5=90px,結果在ie和mozilla中顯示一致。
有一點要注意,如果父div是body的話,也就是說乙個body套了乙個div,讓div適合body的大小的,必須設定body的高度才能實現子div隨body改變而改變,body
div自適應高度
如何控制div最小高度又div自適高度 我們在用div布局的時候經常會遇到這樣的一種情況 我們需要設定乙個div高度,當裡面的東西超過這個高度時,讓這個容器自動被撐開,也就是div自適應高度。當裡面的資訊很少時候,我們就設定它乙個最小的固定高度。我們知道,在ie6中,如果子容器的高度超過父容器的時候...
div高度自適應
盒模型的height的預設值為auto,它表示盒模型的高度由它所包裹的內容高度來決定,因此div不設定height的值就可以實現高度的自適應。然而在實際css布局實踐中,常常出現一些特殊的需求。div的高度初始為某一固定高度,然後隨著內容的增多高度自適應。css屬性中min height是專門來解決...
DIV CSS 設計的頁面,DIV高度自適應問題
解決方法 方法1 在內層元素的最後面加入乙個元素,並且設定這個元素不浮動,強制使外層元素包裹內層元素如 方法2 設定外層元素css屬性overfloat為hidden或者auto,zoom設定為1,設定zoom是為了相容ie6 方法4 clearfix after 方法3 設定外層元素高度為乙個固定...