一聚教程网:一个值得你收藏的教程网站

热门教程

CSS hack在IE6,IE7,firefox用法与区分

时间:2022-06-25 09:08:53 编辑:袖梨 来源:一聚教程网

 

一、CSS HACK
 以下两种方法几乎能解决现今所有HACK.

 1, !important

 随着IE7对!important的支持, !important 方法现在只针对IE6的HACK.(注意写法.记得该声明位置需要提前.)

 

 


 2, IE6/IE77对FireFox

 *+html 与 *html 是IE特有的标签, firefox 暂不支持.而*+html 又为 IE7特有标签.

 


 
 
 ]CSS hack:区分IE6,IE7,firefox
 区别不同浏览器,CSS hack写法:

区别IE6与FF:background:orange;*background:blue;
区别IE6与IE7:background:green !important;background:blue;
区别IE7与FF:background:orange; *background:green;
区别FF,IE7,IE6:background:orange;*background:green !important;*background:blue;
注:IE都能识别*;标准浏览器(如FF)不能识别*;IE6能识别*,但不能识别 !important,IE7能识别*,也能识别!important;FF不能识别*,但能识别!important;
              IE6 IE7 FF
*             √ √ ×
!important × √ √

 

 

--------------------------------------------------------------------------------
另外再补充一个,下划线"_",
IE6支持下划线,IE7和firefox均不支持下划线。

 

于是大家还可以这样来区分IE6,IE7,firefox
: background:orange;*background:green;_background:blue;

注:不管是什么方法,书写的顺序都是firefox的写在前面,IE7的写在中间,IE6的写在最后面。

 

--------------------------------------------------------------------------------
相关:

在windows XP下面同时安装IE6,IE7和firefox
(firefox的不同版本间可以共存,但是IE的不同版本之间不能共存,本文主要是解决将IE6和IE7安装到同一个XP系统里面去的问题)
CSS的各种浏览器兼容一栏表


很早就在这里看到过解决方案,与嗷嗷讨论后发现这个方案还是很可靠的。当然,唯一的缺点就是每一个属性都要去Hack,但我在很多实践中,只用‘修正’1-2个属性就可以了。

具体写法很容易:

#someNode{    position: fixed;   #position: fixed;   _position: fixed;}
第一排给Firefox以及其他浏览器看
第二排给IE7(可能以后的IE8、IE9也是如此,谁知道呢)看
第三排给IE6以及更老的版本看
最好的应用就是可以让IE6也“支持”position:fixed,而且,配合这个原理,可以做到不引入JavaScript代码(仅用IE6的expression),我这里有一个现成的页面,CSS如下写:

#ff-r{
position:  fixed;
_position:  absolute;
right:     15px;
top:       15px;
_top:      expression(eval(document.compatMode &&           
document.compatMode==''CSS1Compat'') ?           
documentElement.scrollTop+15 :          
document.body.scrollTop +
(document.body.clientHeight-this.clientHeight));

}

 

热门栏目