浅谈浏览器的兼容性(必看篇)

我从窗户里探头往外看,嘿!春天果然到来了。看,外面嫩绿的小草像动画片里的那样,慢慢探出头来。再看,那平坦的草地里,星星点点的眨着眼睛的是什么?哦!那是可爱的小花,还有小虫在花瓣里钻来钻去呢?嘻,原来是童话故事里睡在花瓣里的拇指姑娘啊!再看看,那干枯已久的柳树也伸出了嫩绿的手,轻轻地走来了美丽的春姑娘!

我就说说自己的看法啊,不对的请指正。

浏览器就是2大派系,一个是其他浏览器,一个是IE(这TM就是个异端)。

浏览器的区别主要就是4个部分了

1.对于各种元素margin和padding的默认值不一样。

2.ie和其他浏览器的css盒模型不一样,ie的width和height包括了padding和border,而其他浏览器的css盒模型才是标准的盒模型,height和width是指content的宽和高。

3.对于css3的支持程度不一样。

4.对于ES5和ES6的支持程度不一样。

5.html5的标签。

6.css3的媒体查询

对应解决方法:

1.引入normalize.css,可以统一各种元素的margin和padding等属性。

2.css3的一个属性box-sizing可以定义该元素以哪种盒模型进行渲染。content-box为标准盒模型,border-box为IE的盒模型。

3.引入PIE.htc或者其他的能够使IE兼容css3的文件,但是都有局限性,无法完全兼容css3的所有特性,具体的请自行度娘。

4.IE8是部分支持es5的,可以引入es5-shim.js。ps:不小心看到了es5-sham查了下他们的区别。es5-shim就是实现的是原生的ES5,而sham中实现了一些新的API。这样就可以使用es6编程再利用babel编译了。

5.引入html5shiv.js,可以让ie支持html5的标签。

6.可以引入Respond.js,使ie可以使用媒体查询,实现响应式开发。

以上这篇浅谈浏览器的兼容性(必看篇)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

原文地址:http://www.cnblogs.com/wangwei1314/archive/2016/07/24/5701537.html

标签: 必看