浏览器内核及渲染方式
浏览器内核
Trident:IE,360,搜狗
Gecko:firefox
webkit:safari,旧版chrome
presto:旧版opera
blink:新版chrome,新版opera
浏览器内核主要分为两部分:渲染引擎和JS引擎。
渲染引擎
负责取得网页的内容(HTML,CSS,图像等)、整理讯息(加入CSS等),以及计算网页的显示方式,然后会输出至显示器或打印机。浏览器的内核的不同对于网页的语法解释会有不同,所以渲染的效果也不相同。所有网页浏览器、电子邮件客户端以及其他需要编辑、显示网络内容的应用程序都需要内核。
JS引擎
解析和执行js来实现网页的动态效果。
最开始渲染引擎和JS引擎并没有区分的很明确,后来JS引擎越来越独立,内核就倾向于只指渲染引擎。
浏览器的渲染方式
1.构建DOM树
浏览器请求到html代码后,在生成DOM的最开始阶段,并行发起css、图片、js的请求。
2.构建CSSOM
css文件加载完成,开始构建CSSOM
在构建 CSSOM 树时,会阻塞渲染,直至 CSSOM 树构建完成。并且构建 CSSOM 树是一个十分消耗性能的过程,所以应该尽量保证层级扁平,减少过度层叠,越是具体的 CSS 选择器,执行速度越慢。
3.生成渲染树(Render Tree)
CSSOM构建结束后,和DOM一起生成Render Tree
4.布局(Layout)
有了Render Tree,浏览器已经能知道网页中有哪些节点,各个节点的CSS定义以及他们的从属关系。开始布局,计算出各个节点在屏幕中的位置。
5.Paint
布局之后,浏览器知道哪些节点要显示,每个节点的CSS属性是什么,每个节点在屏幕中的位置。所以接下来按照算出来的规则,通过显卡,把内容画在屏 幕上。