浏览器渲染步骤包含哪些

  随着互联网的不断发展,越来越多的人都在学习互联网编程开发技术,而今天我们就一起来了解一下,浏览器渲染步骤包含哪些。

  一.浏览器解析渲染过程?

  (1)浏览器解析HTML源码,然后创建一个DOM树。

  在DOM树中,每一个HTML标签都有一个对应的节点(元素节点),并且每一个文本也都有一个对应的文本节点,DOM树的根节点就是documentElement,对应的是html标签

  (2)浏览器解析CSS代码,然后创建一个CSSOM树。

  解析CSS的时候会按照如下顺序来定义优先级(递增):浏览器默认设置用户设置外联样式内联样式标签样式

  (3)根据DOM树和CSSOM来构建一个渲染树(rendertree)。

  (4)当渲染树创建完成之后,浏览器就可以根据渲染树直接把页面绘制到屏幕上。

  二.渲染树(rendertree)和DOM树的关系?

  (1)在DOM树构建的同时,浏览器会构建渲染树。(为了提高用户体验,浏览器并不会等到所有HTML文档加载完成之后才建立渲染树并渲染,而是会在从网络层获取html文档的同时把已经接收到的局部内容先渲染出来)

  (2)DOM树完全和html标签一一对应,而渲染树会忽略(即不包含)不需要渲染的元素(如head,样式为display:none的元素等)

  (3)渲染树中每一个节点都存储着对应的CSS属性

  三.reflow(重排,回流)和repaint(重绘)?

  reflow:浏览器要花时间去渲染,当它发现了某个部分发生了变化并且影响了布局,就需要倒回去重新渲染

  repaint:如果只是改变了某个元素的背景颜色或文字颜色等,不影响元素周围或内部布局,就只会引起浏览器的repaint,重画其中一部分。

  reflow比repaint更花费时间,也就更影响性能,所以在写代码时应尽量避免过多的reflow。




转载请注明:http://www.aierlanlan.com/grrz/2810.html