區分出IE6的hack寫法
1.區別IE6、7與FF/IE8:
JavaScript Code復制內容到剪貼板
background:blue;*background:orange;
引用
顯示效果:
IE 6/7:orange
FF/IE8:blue
原理:FF/IE8不支持*開頭,而IE6/7都支持。
2.區別IE6與IE7/IE8/FF:
CSS Code復制內容到剪貼板
background:green;_background:blue;
引用
顯示效果:
IE7/8/FF:green
IE6:blue
原理:IE6支持下劃線"_",IE7、8和firefox均不支持下劃線。
3.區別FF/IE8和IE6/7:
CSS Code復制內容到剪貼板
background:orange;+background:green;-background:blue;
或者
CSS Code復制內容到剪貼板
background:orange;*background:green!important;*background:blue;
引用
顯示效果:
IE6:blue
IE7:green
FF/IE8:orange
原理:IE6能識別-,IE7能識別+,IE8和FF都不能識別+和-
IE8/FF都不識別*,IE7優先識別!important,IE6不能識別!important。
4.可同時區分IE8、IE7、IE6、Firefox的CSS hacks:
CSS Code復制內容到剪貼板
.test{
color:#000; /* Firefox */
color:/*/**/#00f/9; /* IE8 */
*color:#f00; /* IE7 */
_color:#0f0; /* IE6 */
}
IE6兼容的一些額外需要考慮的細節:
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 點擊鏈接出現虛線
呵呵,產品說不去掉影響用戶體驗,我只想說:用了IE6還談啥體驗。
6.彈窗出現在select上要加個iframe
因為select在IE6中是一個控件,層級比其他層高,所以如果彈窗要兼容IE6,背景記得加多一層iframe
7.尺寸超出會自動延伸
新聞熱點
疑難解答