网页的渲染机制

渲染引擎

渲染引擎的工作主要是。。渲染,用来在屏幕上显示的内容。主流的浏览器,ChromeSafari用的是开源的Webkit,Firefox使用的是Gecko

DOM解析

DOM树由元素和值构成的各个节点组成。比如一个HTML DOM树如下:

<html>
<html>
<head>
    <title>Web page parsing</title>
</head>
<body>
    <div>
        <h1>Web page parsing</h1>
        <p>This is an example Web page.</p>
    </div>
</body>
</html>

HTML会被解析成,如下:


dom-tree

CSSRuleTree

css-tree

主要的渲染流程

  1. 解析HTML来构造成DOM树
  2. 渲染树构造
  3. 渲染树布局
  4. 绘制整个渲染树
render-flow

Reflow和Repaint

  • Repaint——屏幕的一部分要重画,比如某个CSS的背景色变了。但是元素的几何尺寸没有变。
  • Reflow——意味着元件的几何尺寸变了,我们需要重新验证并计算Render Tree。

Reflow的成本比Repaint的成本高得多的多。下面这些动作有很大可能会是成本比较高的。

  • 当你增加、删除、修改DOM结点时,会导致Reflow或Repaint

  • 当你移动DOM的位置,或是搞个动画的时候。

  • 当你修改CSS样式的时候。

  • 当你Resize窗口的时候(移动端没有这个问题),或是滚动的时候。

  • 当你修改网页的默认字体时。

    参考
    coolshell-浏览器的渲染原理简介

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 网页渲染必须在很早的阶段进行,可以早到页面布局刚刚定型。因为样式和脚本都会对网页渲染产生关键性的影响。所以专业开发...
    湖衣阅读 396评论 0 0
  • 上图为主流两种主流内核的渲染主流程虽然 Webkit 和 Gecko 使用的术语略有不同,但整体流程是基本相同的。...
    QQQQQCY阅读 485评论 0 0
  • 渲染机制概述 解析 HTML 标签, 构建 DOM 树解析 CSS 标签, 构建 CSSOM 树把 DOM 和 C...
    柚丶稚橙熟时阅读 462评论 0 0
  • CSS和JS在网页中的放置顺序是怎样的? CSS最好放入header中,即放在网页内容(html标签中包含的文字和...
    DCbryant阅读 348评论 0 0
  • 起初只是因为打折 买下了这本《敦煌》,书到之后还有点后悔,以为是一本闲人写的游记之类的罢了。同期到的书很多,这本基...
    呆子四二阅读 346评论 0 1

友情链接更多精彩内容