解決父級元素高度塌陷問題的方法


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

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以及以下版本都不兼容。此方法可以說是綜合起來最好的方法了,不會影響任何其他樣式,通用性強,覆蓋面廣。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM