本文据说的主要是通过“.”,“>”,“*”,“_”来区分。以下是本人对这四种符号的测试结果:
———————IE6—— IE7——IE8——FF2——FF3— Opera9.5
>property—— Y—— Y—— Y—— N—— N—— N
.property—— Y—— Y—— Y—— N—— N—— N
*property—— Y—— Y—— Y—— N—— N—— N
_property—— Y—— N—— N—— N—— N—— N
我们可以看到>property、.property、*property在各浏览器中的表现是一致的,只有_property在IE6和IE7、 IE8中有所区别。另外还要注意的,IE6是不支持!important的,而其他几款浏览器都识别。
举例:
要对想同的文字在不同浏览器中显示不同的颜色可以使用:
- > color : green !important ; /*IE7、IE8可以识别该规则,因此它覆盖掉了上一条规则*/
- color : red ; /*所有浏览器都可以识别,但是以上两条规则有!important,所以这条规则被忽视;只有IE6认识并覆盖掉上两条规则*/
color:brown !important; /*用于Opera、Firefox2、Firefox3等现代浏览器*/
>color:green !important; /*IE7、IE8可以识别该规则,因此它覆盖掉了上一条规则*/
color:red; /*所有浏览器都可以识别,但是以上两条规则有!important,所以这条规则被忽视;只有IE6认识并覆盖掉上两条规则*/
不过这里要注意书写的顺序:现在浏览器的写法要写在最前面,IE6的写法要写在最后面用于覆盖,其他浏览器写在中间。
区别 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和firefox均不支持下划线。(推荐.我这只有这个有效!)
于是大家还可以这样来区分 IE6 、 IE7 、 firefox
: background: orange ; * background: green ; _ background: blue ;
* html p {color:#f00;} 支持 IE6 不支持FF IE7 IE8b
*+html p {color:#f00;} 支持 IE7 IE8b 不支持FF IE6
p {*color:#f00;} 支持 IE7 IE6 不支持FF IE8
注:不管是什么方法,书写的顺序都是firefox的写在前面,IE7的写在中间,IE6的写在后面。
CSS兼容性一直是大家头疼的问题,IE6、IE7和FF已经让大家够呛,在webjx.com以前的文章中,很多这方面的知识介绍。今天向大家介绍IE8的CSS hack。 IE8正式版发布以来,一直在找一种区别IE8正式版的方法.在百度搜索"IE8 hack"有19万多个结果,google搜索则有243万多个结果,但几乎没有看到任何一种有效的方法是针对IE8正式版的,要知道IE8正式版和测试版在hack上是有很大区别的.而且网络上的方法几乎都是出自一两个人之手,最有名的可能要数那张linxz.cn的hack图片了,这张图片估计被国内的网友转载了几十万次,但目前这张图里的方法对IE8正式版是无效的. 经过分析和总结网友们的各个无效方法,有了下面的行之有效的解决方案,或许以后还会有更好更简单的hack,但就目前来说这个方法可以解决燃眉之急. 不再讲废话,来(以下的IE8均指IE8正式版,版本号:8.0.6001.18702): "/9" 例:"margin:0px auto/9;".这里的"/9"可以区别所有IE和FireFox. 如此,就可以完全区分开IE6、IE7、IE8、FireFox了.
另外 css 兼容浏览器的写法 方法一: 兼容 ie 6,7, ff的做法 .example { color: #333; } /* FF */ 如此写,,,样式,呵呵,,是比较麻烦点。。 方法二: .black{ margin:35px 10px 0 0px;//兼容 ie 6
------------------------------------------------------------------
background:#ffc; /* 对firefox有效*/
margin-bottom:40px; /*ff的属性*/ margin-bottom:140px/9; /* IE6/7/8的属性 */ color:red/0; /* IE8支持 */ *margin-bottom:450px; /*IE6/7的属性*/ |