詳解CSS中zoom屬性或overflow:auto屬性清除浮動的作用

前言
其實在CSS中的Zoom這個屬性一般不為人知,甚至有些CSS手冊中都查詢不到。其實Zoom屬性是IE瀏覽器的專有屬性,F(xiàn)irefox等瀏覽器不支持。它可以設(shè)置或檢索對象的縮放比例。除此之外,它還有其他一些作用,比如觸發(fā)ie的hasLayout屬性,清除浮動、清除margin的重疊等。
因為Zoom屬性是IE瀏覽器的專有屬性,所以他清除浮動作用只適用于IE瀏覽器,而Firefox、google等瀏覽器則需要使用overflow:auto屬性來清除浮動。所以要達到兼容IE6、IE7、IE8、Firefox、google瀏覽器的時候就必需使用這兩個屬性。
我們在重構(gòu)頁面的時候經(jīng)常會使用到一個大容器里面包含多個浮動小容器的布局,但是如果外面這個大容器的沒有設(shè)置固定的高度值,那么大容器高度不會隨著里面小容器高度變化而變化,產(chǎn)生內(nèi)容溢出的現(xiàn)象,這時只需要清除浮動就會恢復正常。所以只要給外面大容器加上overflow:auto的屬性,可以解決IE7和火狐瀏覽器下的清除浮動問題,但是IE6下不生效,所以我們還需要使用zoom這個IE的私有屬性來達到徹底清楚浮動的兼容效果。
實例代碼
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>MJBlog</title> <style type="text/css"> .box{ width:300px; height:auto; background-color: #000000; margin:100px auto; padding:5px; } .box h2{ width:300px; line-height:24px; color:#CCCCCC;} .xx { width:140px; float:left; height:24px; overflow:hidden; padding:0px 5px; line-height:24px; color: #FF9933;} .za{overflow:auto; zoom:1} .zb{overflow:auto;} .zc{zoom:1;} </style> </head> <body> <div class="box"> <h2>這個沒加overflow:auto和zoom:1屬性,沒有清除浮動,底下的li產(chǎn)生溢出重疊現(xiàn)象</h2> <div class="xx">福州酒吧萬圣節(jié)派對活動</div> <div class="xx">福州酒吧萬圣節(jié)派對活動</div> <div class="xx">福州酒吧萬圣節(jié)派對活動</div> <div class="xx">福州酒吧萬圣節(jié)派對活動</div> <div class="xx">福州酒吧萬圣節(jié)派對活動</div> <div class="xx">福州酒吧萬圣節(jié)派對活動</div> </div> <div class="box za"> <h2>這個加overflow:auto和zoom:1屬性,清除浮動,正常</h2> <div class="xx">福州酒吧萬圣節(jié)派對活動</div> <div class="xx">福州酒吧萬圣節(jié)派對活動</div> <div class="xx">福州酒吧萬圣節(jié)派對活動</div> <div class="xx">福州酒吧萬圣節(jié)派對活動</div> <div class="xx">福州酒吧萬圣節(jié)派對活動</div> <div class="xx">福州酒吧萬圣節(jié)派對活動</div> </div> </body> </html>
總結(jié)
以上就是關(guān)于CSS中zoom屬性和overflow:auto屬性清除浮動作用的全部內(nèi)容,希望本文的內(nèi)容對大家的工作或者學習能有所幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關(guān)文章
- 小編之前遇到一次這個bug解決之后,今天又遇到,還是不明白,于是搜索發(fā)現(xiàn)解決方法很簡單,現(xiàn)在分享出來給大家一起看看。2016-09-05
DIV背景圖片在Firefox下不顯示通過overflow:auto可解決
div里加入背景圖片,可是在Firefox下卻無法正確顯示背景圖片,通過overflow:auto便可解決此問題,感興趣的朋友可以參考下哈,希望對大家有所幫助2013-07-03CSS教程:導致一些問題的overflow-CSS教程-網(wǎng)頁制作-網(wǎng)頁教學網(wǎng)
overflow有問題嗎?沒問題。那為什么說要慎用呢?因為有時會導致一些問題。。。 關(guān)于overflow:auto的,很多人貪他書寫方便,直接用來清除浮動。但是Firefox使用overflow:au2008-10-17- 這篇文章主要介紹了overflow:auto的用法詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-11-19