前言
其實在CSS中的Zoom這個屬性一般不為人知,甚至有些CSS手冊中都查詢不到。其實Zoom屬性是IE瀏覽器的專有屬性,Firefox等瀏覽器不支援。它可以設定或檢索物件的縮放比例。除此之外,它還有其他一些作用,例如觸發ie的hasLayout屬性,清除浮動、清除margin的重疊等。
因為Zoom屬性是IE瀏覽器的專有屬性,所以他清除浮動動作用只適用於IE瀏覽器,而Firefox、google等瀏覽器則需要使用overflow:auto屬性來清除浮動。所以要達到相容IE6、IE7、IE8、Firefox、google瀏覽器的時候就必要使用這兩個屬性。
我們在重構頁面的時候常常會使用到一個大容器裡麵包含多個浮動小容器的佈局,但是如果外面這個大容器的沒有設定固定的高度值,那麼大容器高度不會隨著裡面小容器高度變化而變化,產生內容溢出的現象,這時只需要清除浮動就會恢復正常。所以只要給外面大容器加上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> <p class="box"> <h2>这个没加overflow:auto和zoom:1属性,没有清除浮动,底下的li产生溢出重叠现象</h2> <p class="xx">福州酒吧万圣节派对活动</p> <p class="xx">福州酒吧万圣节派对活动</p> <p class="xx">福州酒吧万圣节派对活动</p> <p class="xx">福州酒吧万圣节派对活动</p> <p class="xx">福州酒吧万圣节派对活动</p> <p class="xx">福州酒吧万圣节派对活动</p> </p> <p class="box za"> <h2>这个加overflow:auto和zoom:1属性,清除浮动,正常</h2> <p class="xx">福州酒吧万圣节派对活动</p> <p class="xx">福州酒吧万圣节派对活动</p> <p class="xx">福州酒吧万圣节派对活动</p> <p class="xx">福州酒吧万圣节派对活动</p> <p class="xx">福州酒吧万圣节派对活动</p> <p class="xx">福州酒吧万圣节派对活动</p> </p> </body> </html>
#更多CSS中zoom屬性或overflow:auto屬性清除浮動相關文章請關注PHP中文網!