相對元素或者內容自適應

2021-10-03 09:46:54 字數 1792 閱讀 4799

如何實現元素高度自適應?

先思考這兩個問題:

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...