浏览器css hack兼容性分析(区分ie6,ie7,ie8,firefox)

发布时间:2020-08-14编辑:脚本学堂
本文介绍了浏览器css hack的不同写法,这些常用的css hack区分IE6,IE7,IE8,firefox等浏览器,总结的非常全面,需要的朋友参考下。

区别不同浏览器,css hack写法

注意,这些hack写法仅适用于XHTML1.0。如果没有在HTML最前加上:
 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
 

则效果将不一样。
此外,这里所说的IE8,不是指IE8的兼容模式,因为IE8的兼容模式其实就是IE7。

一、区别IE6、7与FF/IE8:
 

background:blue;*background:orange;

显示效果:
IE 6/7:orange
FF/IE8:blue

原理:FF/IE8不支持*开头,而IE6/7都支持。

二、区别IE6与IE7/IE8/FF:
 

background:green;_background:blue;

显示效果:
IE7/8/FF:green
IE6:blue

原理:
IE6支持下划线"_",IE7、8和firefox均不支持下划线。

三、区别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优先识别!important,IE6不能识别!important。

四、关于IE8的hacks:
 

.test{
color:#00f9;
color:#00f9;
}

可同时区分IE8、IE7、IE6、Firefox的CSS hacks:
 

.test{
color:#000;
color:#00f9;
*color:#f00;
_color:#0f0;
}