日期:2014-05-17  浏览次数:20801 次

html 简单CSS hack:区分IE6、IE7、IE8、Firefox、Opera

简单CSS hack:区分IE6、IE7、IE8、Firefox、Opera

2008-09-22 10:57

?

方法一:

?? 跨浏览器的网页设计一直是让人很头疼的问题,这不只是因为浏览器的版本众多,还有一个重要的原因是相同浏览器的不同时期的版本也会有差异,甚至是在不同操作同台上还会有不同。因此使CSS hack技术进行浏览器区分是实现跨浏览器访问一个好方法。CSS Hack技术有很多,具体可以查看:

?? 本文据说的主要是通过“.”,“>”,“*”,“_”来区分。以下是本人对这四种符号的测试结果:
———————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:brown?!important;??/*用于Opera、Firefox2、Firefox3等现代浏览器*/??

  1. >color:green?!important;????/*IE7、IE8可以识别该规则,因此它覆盖掉了上一条规则*/??
  2. color:red;??/*所有浏览器都可以识别,但是以上两条规则有!important,所以这条规则被忽视;只有IE6认识并覆盖掉上两条规则*/??

?


color:brown !important;?? /*用于Opera、Firefox2、Firefox3等现代浏览器*/
>color:green !important