网站css中必用的骇客技术

做网站时经常会用到,衡量一个DIV+CSS架构师的水平时,这个也很重要。

区别不同浏览器的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 FF

* √ √ ×

!important × √ √

_ √ × ×

于是大家还可以这样来区分IE6,IE7,firefox

: background:orange;*background:green;_background:blue;

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

CSS HACK

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

1, !important

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

#wrapper

{

width: 100px!important; /* IE7+FF */

width: 80px; /* IE6 */

}

2, IE6/IE77对FireFox

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

#wrapper

{

#wrapper { width: 120px; } /* FireFox */

*html #wrapper { width: 80px;} /* ie6 fixed */

*+html #wrapper { width: 60px;} /* ie7 fixed, 注意顺序 */

}

你可能感兴趣的:(网站css中必用的骇客技术)