Chinaunix首页 | 论坛 | 博客
  • 博客访问: 29954654
  • 博文数量: 2065
  • 博客积分: 10377
  • 博客等级: 上将
  • 技术积分: 21525
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-04 17:50
文章分类

全部博文(2065)

文章存档

2012年(2)

2011年(19)

2010年(1160)

2009年(969)

2008年(153)

分类: 系统运维

2009-06-01 12:55:53

在这里我收集整理了两种最有效果的方法;
关于IE7与IE6的区别
及IE和其他浏览器的区别(如:FF)
============================================
经典的区分方法:
============================================

区别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的写在最后面。

 

==========================================
一些有意思的hack代码
==========================================
1、!ie
  IE7修复了!important这个区分IE、FF等很爽的hack,现在只能用它对付IE6及以前的版本了。同时,人们也发现了IE7的BUG,就是这个 !ie,其适用于(这里的“适用于”是“……能够认识”的意思,下同)IE7及以前版本,也就是说,这个!ie能区分目前的IE和其他浏览器,不敢保证未来的IE版本是否修复此BUG,当然这样的代码将不符合CSS语法规则。看例子:

 

  1.   
  2.     
  3.     测试页面  
  4.       
  5.       p  
  6.       {  
  7.         background: red;  
  8.         background: green!ie;  
  9.       }  
  10.       
  11.     
  12.     
  13.     

    难道你家的馒头是圆的?(注意IE和FF下背景的不同)

      
  14.      
  15.   
 
2、!important!
  虽然IE7修复了!important,但是IE7又继续在这个!important!上栽跟头,注意后面有个感叹号,同样可以利用来区分目前市面上的IE和其他浏览器,代码不符合CSS语法标准。继续拿前面的例子来演示:

 

  1.   
  2.     
  3.     测试页面  
  4.       
  5.       p  
  6.       {  
  7.         background: red;  
  8.         background: green!important!;  
  9.       }  
  10.       
  11.     
  12.     
  13.     

    听说你家的馒头都是圆的?(注意IE和FF下背景的不同)

      
  14.     
  15.   
3、!sb,!tmd,!microsoft,!google,!orZ,!r
  我被老外忽悠了,并非只有!ie这个特殊字符串,只要是感叹号后面跟个字符串甚至不要跟字符串,都能区别IE和其他浏览器,郁闷,真是尽信老外不如无老外!

 

  1.   
  2.     
  3.     测试页面  
  4.       
  5.       p  
  6.       {  
  7.         background: red;  
  8.         background: green!;/*看看这个页面的效果吧,当然感叹号后面可以跟一些字符串除了”important”*/  
  9.       }  
  10.       
  11.     
  12.     
  13.     

    听说你家的馒头都是圆的?(注意IE和FF下背景的不同)

      
  14.     
  15.   
4、html*
*html,和html>body,_height:10px,*height:10px,这几个hack应该不算是陌生的东西了,而这个html*还是个比较有意思的!需要注意html和后面的*号之间不能有空格。例如:

 

  1.   
  2.     
  3.     测试页面  
  4.       
  5.       html*{  
  6.         border:3px solid #066;  
  7.         padding:4px;  
  8.         display:block;  
  9.         background:#999;  
  10.       }  
  11.       p  
  12.       {  
  13.         background: red;  
  14.       }  
  15.       body{  
  16.         background:#fff;  
  17.       }  
  18.       
  19.     
  20.     
  21.     

    我还没有吃晚饭,你吃了吗?–摘自和某MM的聊天记录

      
  22.           
  23.     

    物理学家指出:由于受到地心引力的影响,在常规的环境下要制造出绝对圆(球)形的物体是不可能的

      
  24.     
  25.   
 
这里面会出现一个新的非常有意思的问题,就是对注释的不同解释~。

参考文章:
   CSS Hacks: http://www.webdevout.net/css-hacks
   IE’s universal selector is really universal:

阅读(1246) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~