如何實現元素高度自適應?
先思考這兩個問題:
a、如果想實現元素高度自適應,高度能不能設定成固定的值?
b、如果高度不能固定,那該怎麼設定呢?
第一種情況:
1)非浮動元素的父元素高度自適應
實現方法:
1、不設定高度,或者高度設定成 : height:auto;
2、通過最小高度實現高度自適應 : min-height:300px;_height:300px;
注:;_height:300px; 只有ie6 這個瀏覽器識別當前的屬性,其他瀏覽器就都不識別了。
不設定height值時,瀏覽器預設height:auto;
第二種情況:
2)浮動元素的父元素高度自適應
說明:當父元素不設定高度的時候,第一級子元素浮動後,父元素高度塌陷;
怎麼去解決?(只要解決高度塌陷的問題,父元素就能實現高度自適應了)
父元素內有兩個浮動元,預設情況下,顯示效果如圖所示。
實現方法:
1、給父元素乙個固定高度去解決高度塌陷問題
弊端:不能讓元素高度自適應了。
2、overflow:hidden; 解決高度塌陷並能實現高度自適應的方法一;(遵循bfc的顯示原則)
弊端:只要裡面的內容或者元素超出父元素以外,就會被隱藏。
3、在浮動元素的下方新增乙個空元素,並且給他設定一下屬性: 空標記:
弊端:會新增很多空標記,增加結構負擔,產生**冗餘。
4、display:table; 給父元素新增display:table;讓父元素轉換元素型別跟**的特性一樣;
弊端:會改變當前元素的元素型別。
5、萬能清除法:
:after
注:這是常用的一種對浮動元素高度自適應的設定方式,也是比較推薦的一種。
iframe 自適應內容高度
這一陣子,又做了一些頁面前台的工作,其中有乙個地方用到了iframe載入多個頁面的情況。為了防止載入不同的內容頁面,iframe出現滾動條的情況,所以專門寫了乙個函式來調整iframe的頁面高度。做完之後,一測試,前台開發的千年老問題,又出現了,ie下面可以執行,firefox下面卻不行,最搞笑的是...
FMX StringGrid根據內容自適應列寬
fmx stringgrid根據內容自適應列寬 1 maxrow,預設只排序前面100行以內的資料2 maxwidth,預設單字段顯示的最大寬度 3function getcolmaxdatalength asgrid tstringgrid maxrow integer 100 maxwidth ...
元素的高度自適應
網頁布局中有時候有的高度需要根據內容調整,所以不能固定,今天就來說說,最小高度自適應 屬性 min height 最小高度,但ie6不識別該屬性,height在ie6中類似min height屬性 以下是解決bug問題方法 hack1 min height value height value ie...