DIV+CSS相对性IE6 IE7和IE8访问器个人行为差别及适配

2021-03-10 12:59 jianzhan
本文向大伙儿简易叙述1下DIV+CSS相对性IE6 IE7和IE8适配难题梳理,关键详细介绍1下IE6 IE7和IE8等访问器的差别和联络,坚信本文详细介绍1定会让你有一定的获得。
DIV+CSS相对性IE6 IE7和IE8适配难题梳理

1.差别IE和非IE访问器

拷贝编码
编码以下:

#tip{
background:blue;/*非IE情况藍色*/
background:red\9;/*IE6、IE7、IE8情况紅色*/ }

2.差别IE6,IE7,IE8,FF
【差别标记】:「\9」、「*」、「_」
【示例】:

拷贝编码
编码以下:

#tip{ background:blue;/*Firefox情况变蓝色*/
background:red\9;/*IE8情况变鲜红色*/
*background:black;/*IE7情况变黑色*/
_background:orange;/*IE6情况变橘色*/ }

【表明】:由于IE系列访问器可读「\9」,而IE6和IE7可读「*」(米字号),此外IE6可辨识「_」(底线),因而能够按照次序写下来,就会让访问器正确的载入到自身看得晓得CSS英语的语法,因此便可以合理区别IE各版本号和非IE访问器(好像Firefox、Opera、GoogleChrome、Safari等)。
3.差别IE6、IE7、Firefox(方式1)
【差别标记】:「*」、「_」
【示例】:

拷贝编码
编码以下:

#tip{ background:blue;/*Firefox情况变蓝色*/
*background:black;/*IE7情况变黑色*/
_background:orange;/*IE6情况变橘色*/ }

【表明】:IE7和IE6可读「*」(米字号),IE6又能够读「_」(底线),可是IE7却没法载入「_」,至于Firefox(非IE访问器)则彻底没法辨识「*」和「_」,因而便可以透过这样的差别性来区别IE6、IE7、Firefox
4.差别IE6、IE7、Firefox(方式2)
【差别标记】:「*」、「!important」
【示例】:

拷贝编码
编码以下:

#tip{ background:blue;/*Firefox情况变蓝色*/
*background:green!important;/*IE7情况变翠绿色*/
*background:orange;/*IE6情况变橘色*/ }

【表明】:IE7能够辨识「*」和「!important」,可是IE6只能够辨识「*」,却没法辨识「!important」,至于Firefox能够载入「!important」但不可以辨识「*」因而能够透过这样的差别来合理区隔IE6、IE7、Firefox。
5.差别IE7、Firefox
【差别标记】:「*」、「!important」
【示例】:

拷贝编码
编码以下:

#tip{ background:blue;/*Firefox情况变蓝色*/
*background:green!important;/*IE7情况变翠绿色*/ }

【表明】:由于Firefox能够辨识「!important」但却没法辨识「*」,而IE7则能够另外看懂「*」、「!important」,因而能够两个辨识标记来区隔IE7和Firefox。
6.差别IE6、IE7(方式1)
【差别标记】:「*」、「_」
【示例】:

拷贝编码
编码以下:

#tip{ *background:black;/*IE7情况变黑色*/
_background:orange;/*IE6情况变橘色*/ }

【表明】:IE7和IE6都可以以辨识「*」(米字号),但IE6能够辨识「_」(底线),IE7却没法辨识,透过IE7没法载入「_」的特点就可以轻鬆区隔IE6和IE7之间的差别。
7.差别IE6、IE7(方式2)
【差别标记】:「!important」
【示例】:

拷贝编码
编码以下:

#tip{ background:black!important;/*IE7情况变黑色*/
background:orange;/*IE6情况变橘色*/ }

【表明】:由于IE7可载入「!important;」但IE6却不好,而CSS的载入流程是从上到下,因而IE6载入时因没法辨识「!important」而立即跳到下1行载入CSS,因此情况色会展现橘色。
8.差别IE6、Firefox
【差别标记】:「_」
【示例】:

拷贝编码
编码以下:

#tip{ background:black;/*Firefox情况变黑色*/
_background:orange;/*IE6情况变橘色*/ }

【表明】:由于IE6能够辨识「_」(底线),可是Firefox却不好,因而能够透过这样的差别来区隔Firefox和IE6,合理达到CSShack。

另附js方式
1.

拷贝编码
编码以下:

var isIE6 = (/msie/.test(userAgent) && !/opera/.test(userAgent) && parseInt(browserVersion) < 7 && (!window.XMLHttpRequest || typeof(XMLHttpRequest) === 'function'));

2.

拷贝编码
编码以下:

var browser=navigator.appName
var b_version=navigator.appVersion
var version=b_version.split(";");
var trim_Version=version[1].replace(/[ ]/g,"");
if(browser=="Microsoft Internet Explorer" && trim_Version=="MSIE6.0") {return true;}else{return false;}