文档章节

全面兼容IE6/IE7/IE8/FF的CSS HACK写法

前端老手
 前端老手
发布于 09/20 17:45
字数 983
阅读 8
收藏 0

浏览器市场的混乱,给设计师造成很大的麻烦,设计的页面兼容完这个浏览器还得兼容那个浏览器,本来ie6跟ff之间的兼容是很容易解决的。加上个ie7会麻烦点,ie8的出现就更头疼了,原来hack ie7的方法又不能用了,怎么办呢?

第一种方法:

还好,微软提供了这样一个代码:

<meta http-equiv="x-ua-compatible" content="ie=7" />
把这段代码放到<head>里面,在ie8里面的页面解析起来就跟ie7一模一样的了,所以,基本上可以无视ie8,剩下的代码只需要这样写就可以了

background:#ffc; /*  对firefox有效*/
*background:#ccc; /* 对ie7有效 */
_background:#000; /* 只对ie6有效 */
解释一下吧:

firefox能解析第一段,后面的两个因为前面加了特殊符号“*”和“_”,firefox认不了,所以只认background:#ffc,看到的是黄色;

ie7前两短都能认,以最后的为准,所以最后解析是background:#ccc,看到的是灰色;

ie6三段都能认,而且“_”这个只有ie6能认,所以最后解析是_background:#000,看到的是黑色

阿门!已经是最简单和最好理解的写法了,如果你是google进来的,我可以很负责任的告诉你,这种方法是ok的,我测试过。

ie8的那段兼容7的代码我也测试过了,在我现在的windos 7 测试版所带的ie8是没问题的,以后ie8正式版出来还管不管用就不知道了。

ps:如果你发现按我这样写还是有问题的话,请查看一下你的html头,看看<head>之前的内容是不是这样的标准写法

XML/HTML代码
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  2. <html xmlns="http://www.w3.org/1999/xhtml">  
  3.   

 
这个是现在比较规范的写法,如果你是用dreamweaver做页面的话,默认也是这种规范的,切记,非这种规范写法的,兼容性不能保证

第二种方法:

要求苛刻的朋友是不愿意在页面头部增加<meta http-equiv="x-ua-compatible" content="ie=7" />这样一句代码的,因为这样的结果是每个页面都得加。那么要想兼容这几个浏览器还真得想别的办法了。早些天本站发布了一篇《完美兼容ie6,ie7,ie8以及firefox的css透明滤镜》,可能当时测试的疏忽,IE8的兼容性没有解决好,好多朋友回复说用不了。今天抽出些时间,查阅大量资料,终于解决了这个问题了。

以下是兼容IE6/IE7/IE8/FF的写法,注意下面的顺序不可颠倒

CSS代码
  1. margin-bottom:40px;       /*ff的属性*/  
  2. margin-bottom:140px9;    /* IE6/7/8的属性 */  
  3. color:red;              /* IE8支持 */  
  4. *margin-bottom:450px;     /*IE6/7的属性*/  

下面以一个实例的形式表现,大家可以运行代码查看一下效果

XML/HTML代码
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  2. <html xmlns="http://www.w3.org/1999/xhtml">  
  3. <head>  
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
  5. <title></title>  
  6. <style type="text/css">  
  7. #abc {   
  8.  border:2px solid #00f;     /*ff的属性*/   
  9.  border:2px solid #0909;   /* IE6/7/8的属性 */   
  10.  border:2px solid #F90;     /* IE8支持 */   
  11.  _border:2px solid #f00;     /*IE6的属性*/   
  12.  }   
  13.  /*上下顺序不可以写错*/   
  14.  </style>  
  15. </head>  
  16. <body>  
  17. <div id="abc">  
  18.   <ul>  
  19.     <li>FF下蓝边</li>  
  20.     <li>IE6下红边</li>  
  21.     <li>IE7下绿边</li>  
  22.     <li>IE8下黄边</li>  
  23.     <li>转载请注明来源标准之路<a href=http://www.rainweb.cn>www.rainweb.cn</a></li>  
  24.   </ul>  
  25. </div>  
  26. </body>  
  27. </html>   

 

本文转载自:https://www.mk2048.com/blog/blog.php?id=jjja1icjb

前端老手
粉丝 10
博文 595
码字总数 0
作品 0
卢湾
技术主管
私信 提问
全面兼容IE6/IE7/IE8/FF的CSS HACK写法

CSS hack由于不同的浏览器,对CSS的解析认识不一样,因此会导致生成的页面效果不一样,得不到我们所需要的页面效果。 这个时候我们就需要针对不同的浏览器去写不同的CSS,让它能够同时兼容不...

^6^|^6^
2011/12/06
92
0
各种浏览器CSS Hack的原理是什么?

CSS Hack的原理是什么 由于不同的浏览器对CSS的支持及解析结果不一样,还由于CSS中的优先级的关系。我们就可以根据这个来针对不同的浏览器来写不同的CSS。 CSS Hack大致有3种表现形式,CSS类...

webas
2013/04/20
253
1
DIV+CSS解决IE6,IE7,IE8,FF兼容问题

1.IE8下兼容问题,这个最好处理,转化成IE7兼容就可以。在头部加如下一段代码,然后只要在IE7下兼容了,IE8下面也就兼容了: 1. <metahttp-equivmetahttp-equiv="x-ua-compatible"content="I...

罪恶的花生
2012/05/06
296
0
css hack 解决浏览器兼容总结

最近切的页面设计很精致,有那么些难以控制兼容性的问题,没办法,只有用hack解决了,,虽然不赞同hack,但是既然是页面布局,总觉得不要搭上javascript来解决,下面也总结下CSS hack浏览器兼...

Rella蕾拉
2012/03/13
193
0
ie678,FF,chrome的css兼容性

参考:http://www.liuzp.com/css/15.html css的兼容性一般都是前端初学者面临的一个头疼的问题,难免写出来的css在各个浏览器下的效果均有不同,于是乎各种css hack写法出来了,其实在一个规...

messud4312
2014/12/25
177
0

没有更多内容

加载失败,请刷新页面

加载更多

字节序转换详解

在跨平台和网络编程中我们经常会提到网络字节序和主机字节序,如果没有正确对两者进行转换,从而导致两方产生了不同的解释,就会出现意想不到的bug。 目录 0x01 概念 0x02 分类 0x03 两种字节...

无心的梦呓
30分钟前
4
0
干货 | AI人脸识别之人脸搜索

本文档将利用京东云AI SDK来实践人脸识别中的人脸搜索功能,主要涉及到分组创建/删除、分组列表获取、人脸创建/删除、人脸搜索,本次实操的最终效果是:创建一个人脸库,拿一张图片在人脸库中...

京东云技术新知
35分钟前
4
0
【swiper】 滑块组件说明

本文转载于:专业的前端网站➣【swiper】 滑块组件说明 swiper 滑块视图容器,其原型如下: 1 <swiper 2 indicator-dots="[Boolean]" 3 indicator-color="[Color]" 4 indicator-act......

前端老手
45分钟前
4
0
堆排序算法

《Java算法总纲目录》 1、定义 由下图(网上找的),堆排序类似这种,把最大的数字放到最下面的最右面位置,然后把第二大的数字放到最下层的最右面倒数第二个位置,依此类推,如下: 2、代码...

木九天
48分钟前
5
0
框架和库的区别

框架和库的区别 框架:是一套完整的解决方案;对项目的侵入性较大,项目如果需要更换框架,则需要重新架构整个项目。 node 中的 express; 库(插件):提供某一个小功能,对项目的侵入性较小...

庭前云落
52分钟前
5
1

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部