兼容IE6、IE7、IE8瀏覽器,經(jīng)常會(huì)遇到一些問題,可以使用zoom:1來解決,有如下作用:
觸發(fā)IE瀏覽器的haslayout
解決ie下的浮動(dòng),margin重疊等一些問題。
比如,本站使用DIV做一行兩列顯示,HTML代碼:
CSS代碼:
加紅色的那里就可以在IE6、IE7、IE8正常顯示效果了。
css中的zoom的作用
1、檢查頁面的標(biāo)簽是否閉合
不要小看這條,也許折騰了你兩天都沒有解決的 CSS BUG 問題,卻僅僅源于這里。畢竟頁面的模板一般都是由開發(fā)來嵌套的,而他們很容易犯此類問題。
快捷提示:可以用 Dreamweaver 打開文件檢查,一般沒有閉合的標(biāo)簽,會(huì)黃色背景高亮。
2、樣式排除法
有些復(fù)雜的頁面也許加載了 N 個(gè)外鏈 CSS 文件,那么逐個(gè)刪除 CSS 文件,找到 BUG 觸發(fā)的具體 CSS 文件,縮小鎖定的范圍。
對(duì)于剛才鎖定的問題 CSS 樣式文件,逐行刪除具體的樣式定義,定位到具體的觸發(fā)樣式定義,甚至是具體的觸發(fā)樣式屬性。
3、模塊確認(rèn)法
有時(shí)候我們也可以從頁面的 HTML 元素出發(fā)。刪除頁面中不同的 HTML 模塊,尋找到觸發(fā)問題的 HTML 模塊。
4、檢查是否清除浮動(dòng)
其實(shí)有不少的 CSS BUG 問題是因?yàn)闆]有清除浮動(dòng)造成的。養(yǎng)成良好的清除浮動(dòng)的習(xí)慣是必要的,推薦使用 無額外 HTML 標(biāo)簽的清除浮動(dòng)的方法(盡量避免使用 overflow:hidden;zoom:1 的類似方法來清除浮動(dòng),會(huì)有太多的限制性)。
5、檢查 IE 下是否觸發(fā) haslayout
很多的 IE 下復(fù)雜 CSS BUG 都與 IE 特有的 haslayout 息息相關(guān)。熟悉和理解 haslayout 對(duì)于處理復(fù)雜的 CSS BUG 會(huì)事半功倍。推薦閱讀 old9 翻譯的 《On having layout》(如果無法翻越穿越偉大的 GFW,可閱讀 藍(lán)色上的轉(zhuǎn)帖 )
快捷提示:如果觸發(fā)了 haslayout,IE 的調(diào)試工具 IE Developer Toolbar 中的屬性中將會(huì)顯示 haslayout 值為 -1。
6、邊框背景調(diào)試法
故名思議就是給元素設(shè)置顯眼的邊框或者背景(一般黑色或紅色),進(jìn)行調(diào)試。此方法是最常用的調(diào)試 CSS BUG 的方法之一,對(duì)于復(fù)雜 BUG 依舊適用。經(jīng)濟(jì)實(shí)惠還環(huán)保。
最后想強(qiáng)調(diào)一點(diǎn)的是,養(yǎng)成良好的書寫習(xí)慣,減少額外標(biāo)簽,盡量語義,符合標(biāo)準(zhǔn),其實(shí)可以為我們減少很多額外的復(fù)雜 CSS BUG,更多的時(shí)候其實(shí)是我們自己給自己制造了麻煩。希望你遠(yuǎn)離 BUG ,生活越來越美好。