DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> CSS入門知識 >> CSS詳解 >> 父級元素未設置高度和寬度時高度塌陷問題的解決方法
父級元素未設置高度和寬度時高度塌陷問題的解決方法
編輯:CSS詳解     
父元素未設置高度和寬度的時候。那麼它的高度就會塌縮為零,前提是它只包含浮動元素,解決高度塌陷的問題很簡單,可以浮動父級元素、清除法等等,均可實現

如果父元素只包含浮動元素,且父元素未設置高度和寬度的時候。那麼它的高度就會塌縮為零,也就是所謂的“高度塌陷”,如果父級元素包含背景或者邊框,那麼溢出的元素就不像父級元素的一部分了。解決“高度塌陷”的問題很簡單:

1.浮動父級元素

如果讓父級元素浮動,父級元素的高度就會擴大,直到完全包含它裡面的浮動元素,雖然這個方法很奇怪,但是很有效。如果選擇這種方法,一定要在該元素的下個元素添加clear:both,確保浮動元素落到父級元素的下方。

2.利用overflow:hidden,zoom:1

復制代碼代碼如下:
{
  overflow:hidden;
  zoom:1;
}

overflow:hidden屬性也是CSS中比較奇怪的特性,它會強制父級元素擴大到包含浮動元素,zoom:1只是觸發IE6的hasLayout模式,不會對其他浏覽器產生影響。

3.使用“簡單清除法”

復制代碼代碼如下:
.clearfix{
  zoom:1;
}
.clearfix:after{
  content:'';
  display:block;
  height:0;
  font-size:0;
  clear:both;
  overflow:hidden;
}

其中zoom:1還是只兼容IE6,:after是CSS中的偽類,IE6以及以下版本都不兼容。此方法可以說是綜合起來最好的方法了,不會影響任何其他樣式,通用性強,覆蓋面廣。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved