您好,登錄后才能下訂單哦!
IE6中常見CSS兼容性解決技巧是怎樣的,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
IE6瀏覽器目前的市場份額仍然很高,因此作為網頁前端開發來說,無可避免的必須兼容IE6瀏覽器,這里將給大家介紹10種在IE6瀏覽器中常見的CSS兼容性問題,以及相關的解決方法。
51CTO推薦閱讀:Javascript解決常見瀏覽器兼容問題
1、使用一個聲明
你必須經常在HTML網頁頭部放置一個聲明,推薦使用嚴格的標準。同時需要是IE6進入兼容模式,這已經足夠兼容的了。
2、使用position: relative
設置一個標簽position: relative可以解決很多問題,特別是曾經有過看不見的經歷或者奇怪布局的框架。明顯的,你需要小心,絕對位置放置的子元素是否都參照找到新位置。
3、為浮動元素使用display:inline
浮動元素會有一個著名的IE6雙邊距margin bug。假如你設置了左邊距5px但實際上得到了10px左邊距。display:inline可以解決這個問題,盡管它不是必需的,但是CSS仍然有效。
4、設置元素啟動hasLayout
大部分IE6(IE7)的渲染問題都可以通過起來元素的hasLayout屬性來兼容。這是IE內置的設定,確定一個內容塊相對其它內容塊是有界限和位置的。當你需要設置一個行內元素例如一個連接變成塊狀元素或者是透明效果,設置hasLayout也是必須的。
5、修復重復字符的bug
復雜的布局會觸發一個bug:浮動對象的***字符會出現在已經清除浮動的元素后面。這里有幾種解決的辦法,部分是理想的,并且一些測試和出錯是必須的。
◆確保浮動元素都使用:display:inline;
◆***一個浮動元素使用margin-right:-3px;
◆在浮動對象***一個元素后使用一個條件注釋。例如這里輸入注釋…<![endif];
◆在容器內的***使用一個div空標簽(它也必須設置90%寬度甚至更小)。
6、使用a標簽完成可點擊和hover原理
IE6只支持a標簽的CSS定義hover效果,你可以使用它去控制javascript啟動的widgets,使得他們仍然保持鍵盤操作。這里有個二擇一的問題,但是a標簽是所有解決方案中最可靠的。IE6不支持“min-height”并且錯誤的將20em重寫為“auto”。不過,當內容大于設置的空間時,它會增加它的尺寸。另外一個選擇是使用高級選擇符。例如:
#element { min-height: 20em; height: 20em; } /* ignored by IE6 */ #element[id] { height: auto; }
7、使用!important,或是高級選擇符替代IE特定代碼
在外置的CSS文件里,放棄憑借傳統的hacks和條件判斷,使用有效的CSS代碼去針對IE6仍然是有可能的。例如:最小高度可以使用一下定義。
#element { min-height: 20em; height: auto !important; /* understood by all browsers */ height: 20em; /* IE6 incorrectly uses this value /* }
8、避免百分比定義
百分比在IE下比較混亂。除非你非常小心每個父元素的尺寸,這樣就大概可以***避免了。你仍然可以對其他瀏覽器使用!important來使用百分值。例如:
body { margin: 2% 0 !important; margin: 20px 0; /* IE6 only */ }
9、早點和經常測試
在你的網站和應用程序完成之前,不要放棄IE6的測試。問題將會更加嚴重并且需要很長時間去修復。如果你的網站可以運行于FireFox和IE6,它將差不多肯定可以在其它瀏覽器下運行。
10、重構你的代碼
經常的,修復會比重新考慮布局問題更加花費時間。Html細微的修改和更加簡單的CSS經常是最有效的。這意味著你要放棄***的合法的代碼,但是將會更少的問題出現,并且你知道怎樣處理將要出現的情況。
看完上述內容,你們掌握IE6中常見CSS兼容性解決技巧是怎樣的的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。