浏览器内核及兼容

作为前端开发,我们会使用HTML/CSS/JS编写代码,编写代码的时候要遵循一些规范(W3C)


浏览器开发商开发的浏览器,目的就是为了按照W3C的规范,识别出开发者编写的代码,并且在页面中绘制出开发者预想的页面和效果(GPU:显卡),我们把浏览中识别代码绘制页面的东西成为‘浏览器的内核或者渲染引擎’


浏览器兼容: 

1、W3C发布的规范都是开发者们不断尝试总结下来的产物,举个栗子:谷歌浏览器开发了一个新的CSS属性(border-radius)
    可以让开发者快速实现盒子圆角 
    -webkit-border-radius 
    火狐浏览器发现这个功能很好用,也实现了这个属性 
    -moz-border-radius 
    … 
    W3C把它融入到规范的时候 
    border-radius

2、每个浏览器为了彰显自己的不一样,不按照标准来,但是把标准中规定的效果用另外一种方式实现了 
    window.getComputedStyle 
    currentStyle 
    我们写的时候写两套


浏览器:

1、谷歌(Chrome):webkit(v8),是全世界最快的引擎
  safari、欧朋14+、安卓和IOS手机上的浏览器、NODE、webView等都是V8引擎的

2、火狐(Firefox):Gecko

3、欧朋(Opera):Presto

4、IE(6/7/8/9/10/11/EDGE):Trident,低版本浏览器(IE6~8)

5、国产浏览器
  360浏览器(普通版/急速版)、搜狗浏览器、百度浏览器、QQ浏览器、UC浏览器、猎豹浏览器...
  很早以前,国产PC浏览器使用的都是IE的内核,后来手机端兴起,国产手机浏览器都改内核为webkit,
  再后来为了统一维护PC和移动的浏览器,PC端的也改为webkit内核了

  W3C:万维网联盟,我们写的HTMLCSSJS等代码的规范都是这个机构制定的
    开发者:按照规范编写我们的代码
    浏览器开发商:实现一套属于自己浏览器的内核(引擎),可以识别开发者开发的代码,并且使用电脑的GPU(显卡),
    按照规范绘制出页面

  -webkit- 谷歌
  -moz-  火狐
  -ms-   IE
  -o-    欧朋