首页 > 其他分享 >网页渲染流程

网页渲染流程

时间:2023-02-06 13:24:46浏览次数:40  
标签:网页 render Render DOM -- 流程 渲染 构建 解析

浏览器渲染引擎工作流程大致分为5步: 创建DOM树 -- 创建StyleRules -- 创建Render树 -- 布局Layout(回流、重排) -- 绘制Painting(重绘)

具体如下:

1. 用HTML分析器,分析HTML元素,构建一颗DOM树(标记化和树构建)

2. 用CSS分析器,分析CSS文件和元素上的inline样式,生成页面的样式表

3. 将DOM树和CSS树,关联起来,生成Render树(这一过程成为Attachment),每个DOM节点都有attach方法,接收样式信息,返回一个render对象(renderer)。 这些render对象最终会被构建成一颗Render树

4. 有了Render树,浏览器开始布局,为每个Render树上节点确定一个在显示屏上出现的精确坐标

5. render树和节点显示坐标都有了,就调用每个节点paint方法,把他们绘制出来

 

注意点: 

1. DOM树是在文档加载完成后开始构建的吗?  不是, 构建DOM树是个渐进的过程,为达到更好的用户体验,渲染引擎会尽快将内容显示在屏幕上, 他不必等到整个HTML文档解析完成后才开始构建render树和布局

2. Render树是DOM树和CSSOM树构建完毕后才开始构建的吗? 不是, 这三个过程在实际进行的时候并不是完全独立,而是会有交叉,会造成一边加载,一边渲染的情况

3. css的解析是从右向左你想解析的(从DOM树的下向上解析,会比从上往下解析效率要高), 嵌套标签越多,解析越慢。

 

标签:网页,render,Render,DOM,--,流程,渲染,构建,解析
From: https://www.cnblogs.com/workJiang/p/17094621.html

相关文章

  • 网页-超大文件上传-如何上传文件-大文件上传
    ​ 以ASP.NETCoreWebAPI 作后端 API ,用 Vue 构建前端页面,用 Axios 从前端访问后端 API,包括文件的上传和下载。 准备文件上传的API #region 文件上传......
  • AudioTrack一次完整的播放流程
     AudioTrack.java 一、创建一个AudioTrack对象       二、AudioTrack对象构造和初始化参数    android_media_AudioTrack.cpp   ......
  • 屏幕图像渲染原理
    对应一个客户端开发来说,平时做的的最多的就是写页面,所以有必要了解从视图代码到图像显示到屏幕上的整个过程和原理。下面以从视图代码到显示器图像的中间产物帧缓冲区图像......
  • 关于服务器端渲染的 Web 应用的 504 错误问题
    除非客户在SSR中添加了用于显式发送504的自定义逻辑,否则504不会来自SSR。在默认的Spartacus/SSR中,没有显式发送504的逻辑。默认情况下它只发送200或500(仅在......
  • php操作ElasticSearch搜索引擎流程详解
    目录一、安装二、使用三、新建ES数据库四、创建表五、插入数据六、查询所有数据七、查询单条数据八、搜索九、测试代码〝古人学问遗无力,少壮功夫老始成〞......
  • 子控制器tabBarItem底部选中图片显示为自己配置的 不让系统渲染
    大环境是在tabBarController底部的各个子控制器的显示tabBarItem图片问题UIViewController*vc=[UIViewcontrolleralloc]init];vc.tabBarItem.image=[UIImageimageNa......
  • 巨量引擎账户的搭建流程1
    巨量引擎广告投放平台,又称AD平台,它是字节跳动旗下的营销服务品牌,整合了今日头条、抖音短视频、火山小视频、西瓜视频、穿山甲等产品的营销能力,帮助广告主自助投放广告,高效......
  • Java流程控制
    Java流程控制用户交互Scannerjava.util.Scanner是Java5的新特征,我们可以通过Scanner类来获取用户输入基本语法:Scanners=newScanner(System.in);通过Scann......
  • 巨量引擎账户的搭建流程
    一:巨量搜索广告营销漏斗1:用户主动搜索请求2:广告相关性:系统判断搜索词,购买关键词和创意3:系统计算ecpm(千次展现可以获得的收入),ECPM=出价*CTR*CVR*10004:广告......
  • apache twill 开发参考流程
    尽管apachetwill已经退役了,但是已经集成的周边还是不少的,比如dremio就使用到了twill对于yarn的集成支持参考开发流程TwillRunnable接口类似多线程开发,我们实现......