IE zoom:1 原理css
zoom: 1
是爲了 IE 早期的瀏覽器,有 layout 的毛病,因此用 zoom: 1 表明這個 div 是有高度寬度的
效果跟 overflow: hidden 能夠裝載浮動物件同樣html
咱們常常在調試瀏覽器兼容的過程當中,常常會用到zoom:1。瀏覽器
_zoom是CSS hack中專對IE6起做用的部分。IE6瀏覽器會執行zoom:1表示對象的縮放比例,但這裏
overflow:hidden;和_zoom:1;是連起來用的,做用是清除border內部浮動。
同理,還可使用一樣方法清除margin屬性在IE瀏覽器中的重疊問題。工具
觸發IE瀏覽器的haslayout
解決ie下的浮動,margin重疊等一些問題。 spa
五、檢查 IE 下是否觸發 haslayout
不少的 IE 下複雜 CSS BUG 都與 IE 特有的 haslayout 息息相關。熟悉和理解 haslayout 對於處理複雜的 CSS BUG 會事半功倍。推薦閱讀 old9 翻譯的 《On having layout》(若是沒法翻越穿越偉大的 GFW,可閱讀 藍色上的轉帖 )
快捷提示:若是觸發了 haslayout,IE 的調試工具 IE Developer Toolbar 中的屬性中將會顯示 haslayout 值爲 -1翻譯
IE 裏面的hasLayout調試
你們都知道IE6之支持<a>標籤的:hover爲了,可是一般在作實際效果的時候<a>標籤 :hover在IE6下會失效,code
看代碼:orm
[code=」html」]htm
< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd」>
http://www.w3.org/1999/xhtml」>
[/code]
在IE6下「顏色」根本就不會變成紅色,其餘瀏覽器都是好的,要解決這個問題就必須觸發a:hover的layout,例如a:hover { display:inline-block}或者a:hover { zoom:1}等等。