針對IE6的一些CSS Hack編寫時的注意點小結

區(qū)分出IE6的hack寫法
1.區(qū)別IE6、7與FF/IE8:
- background:blue;*background:orange;
引用
顯示效果:
IE 6/7:orange
FF/IE8:blue
原理:FF/IE8不支持*開頭,而IE6/7都支持。
2.區(qū)別IE6與IE7/IE8/FF:
- background:green;_background:blue;
引用
顯示效果:
IE7/8/FF:green
IE6:blue
原理:IE6支持下劃線"_",IE7、8和firefox均不支持下劃線。
3.區(qū)別FF/IE8和IE6/7:
- background:orange;+background:green;-background:blue;
或者
- background:orange;*background:green!important;*background:blue;
引用
顯示效果:
IE6:blue
IE7:green
FF/IE8:orange
原理:IE6能識別-,IE7能識別+,IE8和FF都不能識別+和-
IE8/FF都不識別*,IE7優(yōu)先識別!important,IE6不能識別!important。
4.可同時區(qū)分IE8、IE7、IE6、Firefox的CSS hacks:
- .test{
- color:#000; /* Firefox */
- color:/*\**/#00f\9; /* IE8 */
- *color:#f00; /* IE7 */
- _color:#0f0; /* IE6 */
- }
IE6兼容的一些額外需要考慮的細節(jié):
1.position:fixed
對這個屬性印象深刻,每一次需要用到固定的時候,IE6總是蹦出來告訴你,我不支持position:fixed,你要對我特殊點,要么使用CSS表達式,要是時刻計算滾動的高度,再加上position:absolute.
2.浮動雙倍邊距
當在浮動中使用margin時,你要時刻記得加上display:inline,不然IE6不給你好臉色,總是會讓你布局錯亂,就因為它會是雙倍的邊距。
3.背景透明
之前總是用png8來兼容IE6,實在沒辦法時,你還要ps上下功夫,圖省事的話,你要加一個DD_belatedPNG.JS,各種技能層出不窮,但是都有一個就是耗時不討好。
4.max-height/min-height
想要給它一個最大尺寸或者最小尺寸時,IE6卻告訴你,我只能用確定尺寸,你需要的話,用表達式吧
5.IE6 點擊鏈接出現(xiàn)虛線
呵呵,產(chǎn)品說不去掉影響用戶體驗,我只想說:用了IE6還談啥體驗。
6.彈窗出現(xiàn)在select上要加個iframe
因為select在IE6中是一個控件,層級比其他層高,所以如果彈窗要兼容IE6,背景記得加多一層iframe
7.尺寸超出會自動延伸
假如你給某個層加了一個高度,當內容超出時,沒有overflow:hidden;時,IE6默認會撐開,有時候會出現(xiàn)莫名布局錯亂。
8.不能使用.class.class2
使用以上的css寫法在ie6中不識別,這導致了,很多時候你不得不改變重構的策略,改用.class-class1的寫法。
9.盒子模型解析不一致
在Quirks Mode中,盒子的寬度計算與Standards Mode的不同
在 IE 盒模型中,
box width = content width + padding left + padding right + border left + border right,
box height = content height + padding top + padding bottom + border top + border bottom,
而在 W3C 標準的盒模型中,box 的大小就是 content 的大小。
相關文章
CSS針對IE6實現(xiàn)網(wǎng)頁圖片底部留出空白的方法
又到了對付IE6兼容的時間了,要讓img底部留出空白,普通的li寫法在IE6下往往會出問題, 下面就關于CSS針對IE6實現(xiàn)網(wǎng)頁圖片底部留出空白的方法給出一些經(jīng)驗,需要的朋友可以參考2016-05-13- 下面小編就為大家?guī)硪黄獪\談前端制作中,IE6還有必要兼容嗎?小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-05-31