随笔-45  评论-67  文章-66  trackbacks-0

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

方法一:
  跨浏览器的网页设计一直是让人很头疼的问题,这不只是因为浏览器的版本众多,还有一个重要的原因是相同浏览器的不同时期的版本也会有差异, 甚至是在不同操作同台上还会有不同。因此使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认识并覆盖掉上两条规则*/  
因此这就实现了跨浏览器的表现问题。_property和*property也是一样的。对于_property来说,只有IE6才能识别,因此可以用于单独对IE6的设置中。

不过这里要注意书写的顺序:现在浏览器的写法要写在最前面,IE6的写法要写在最后面用于覆盖,其他浏览器写在中间。
 
方法二:
其实主要是浏览器:IE6/IE7/firefox下,各个对CSS代码的解释有区别,下边转载一篇HACK的文章,相当实用。

区别IE6FF:           background:orange;*background:blue;

区别IE6IE7:          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均不支持下划线。(推荐.我这只有这个有效!)

于是大家还可以这样来区分IE6IE7firefox
: 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的写在后面。
posted on 2008-06-19 02:05 sin 阅读(9305) 评论(2)  编辑 收藏

评论:
#1楼 2009-04-10 21:05 | 李奕权[未注册用户]
谢谢,帮了大忙!
 回复 引用   
#2楼 2009-07-23 14:11 | 新易网[未注册用户]
很实用,谢谢
 回复 引用   
有时觉得做人好奇怪!有D野系钟意嘅,就扮晒野唔要,有D野摆明系唔想要嘅,就揽住唔放。其实两个人就算行左几十年都好,但系对方想点,你系唔知嘅,对方钟唔钟意你,肯唔肯同你结婚,你都唔知嘅,系距要走果日我同自己讲,你走就算,我沟唔到女咩,我念距当初都系甘念,当系到而家我先发现原黎唔系嘅,缺少嗰D野系无办法替代嘅,你要稳一个人黎完全替代另外一个人系好难嘅,距到而家仲未结婚我觉得距都系甘念,当系当初你点解又要选择走呢?
我曾经稳人试探过距,距比出黎果答案就系性格唔岩,可能距真系放低左我了
昵称:sin
园龄:5年2个月
粉丝:2
关注:1
<2012年2月>
2930311234
567891011
12131415161718
19202122232425
26272829123
45678910

搜索

 
 

常用链接

最新随笔

随笔分类

随笔档案

文章分类

人才招聘

积分与排名

  • 积分 - 73170
  • 排名 - 1436

最新评论

阅读排行榜

评论排行榜

推荐排行榜

阳江人才网