当前位置:网站首页>Browser rendering principle and rearrangement and redrawing
Browser rendering principle and rearrangement and redrawing
2022-07-05 16:56:00 【Love to paddle de whale brother ~】
Browser rendering principle
Browser rendering is divided into five stages .
The first stage :HTML analysis --> DOM Trees
Browsers cannot directly understand HTML file , First, analyze it , And in the process of parsing, send various external resource requests for page rendering DOM Trees .
The second stage : CSS analysis --> CSSOM Trees
Similarly, browsers can also directly understand CSS Code , Need to identify and load CSS The code is processed into what you understand CSSOM Trees .
The third stage : Style and structure merge --> Render tree
The browser will DOM Trees and CSSOM Trees are combined to generate rendering trees (:after :before And other pseudo elements will be built to DOM In the tree ).
Render tree features : Contains only the nodes needed to render the web page .
The process of building a rendering tree
- First step : from DOM The root node of the tree starts traversing , Filter out all visible nodes ;
- The second step : Match visible nodes CSSOM Trees ;
The fourth stage : The page layout --> Layout rendering tree
The browser traverses the rendering tree , Write the nested relationship between elements into the document flow box model in the form of box model , And calculate the exact size and location of the elements in the layout process . After the calculation , Write the corresponding information back to the rendering tree to form “ Layout rendering tree ”.
The fifth stage : Page drawing --> Display page
At this stage, the browser finally gets all the information about drawing the page , Convert every node in the rendering tree into visible pixels , Finally, the page will be presented in front of us .
rearrangement
When we modify DOM Width of node 、 High or hidden , The browser needs to recalculate the geometric attributes of nodes , Then the process of plotting the results of the calculation is called rearrangement ( It's also called backflow ).
Browser rearrangement process

Conditions triggering rearrangement
- change DOM Tree structure : The increase or decrease of nodes 、 Mobile, etc
- Get some through " Instant Computing " Get the attribute of the value :offsetWidth、offsetHeight、offsetTop、offsetLeft、 scrollTop、scrollLeft、scrollWidth、scrollHeight、clientTop、clientLeft、clientWidth、clientHeight And call getComputedStyle Method , perhaps IE Of currentStyle Method .
Repaint
When we modify DOM The style of ( Does not affect its geometric properties ) when , Browsers need to redraw new styles for elements. The process is called redrawing .
Browser redrawing process

Conditions that trigger redrawing
modify DOM The style of , But without affecting its geometric attributes, redrawing will occur .
Optimize
Rearrangement and redrawing are more performance consuming , So in the development process , We should be Avoid rearrangement and reduce redrawing .
This concludes the article
If you have any other ideas , Welcome to the comment area !
边栏推荐
- 搜索 正排索引 和 倒排索引 区别
- 挖财股票开户安全吗?怎么开股票账户是安全?
- What is the difference between EDI license and ICP business license
- Spring Festival Limited "forget trouble in the year of the ox" gift bag waiting for you to pick it up~
- [echart] resize lodash to realize chart adaptation when window is zoomed
- 机器学习编译第2讲:张量程序抽象
- Jarvis OJ webshell analysis
- 【微信小程序】一文读懂小程序的生命周期和路由跳转
- Flet教程之 12 Stack 重叠组建图文混合 基础入门(教程含源码)
- JSON转MAP前后数据校验 -- 自定义UDF
猜你喜欢

Deep dive kotlin synergy (XXI): flow life cycle function

Flet教程之 12 Stack 重叠组建图文混合 基础入门(教程含源码)

Fleet tutorial 09 basic introduction to navigationrail (tutorial includes source code)

Scratch colorful candied haws Electronic Society graphical programming scratch grade examination level 3 true questions and answers analysis June 2022

The two ways of domestic chip industry chain go hand in hand. ASML really panicked and increased cooperation on a large scale

Flet教程之 11 Row组件在水平数组中显示其子项的控件 基础入门(教程含源码)

美国芯片傲不起来了,中国芯片成功在新兴领域夺得第一名

Win11提示无法安全下载软件怎么办?Win11无法安全下载软件

数据访问 - EntityFramework集成

npm安装
随机推荐
Detailed explanation of use scenarios and functions of polar coordinate sector diagram
Jarvis OJ 简单网管协议
清晰还原31年前现场,火山引擎超清修复Beyond经典演唱会
网站页面禁止复制内容 JS代码
怎样在电脑上设置路由器的WiFi密码
浏览器渲染原理以及重排与重绘
Desci: is decentralized science the new trend of Web3.0?
What is the difference between EDI license and ICP business license
Android privacy sandbox developer preview 3: privacy, security and personalized experience
机器学习编译第2讲:张量程序抽象
[61dctf]fm
Accès aux données - intégration du cadre d'entité
中间表是如何被消灭的?
Do sqlserver have any requirements for database performance when doing CDC
C# TCP如何设置心跳数据包,才显得优雅呢?
Basic introduction to the control of the row component displaying its children in the horizontal array (tutorial includes source code)
Etcd 构建高可用Etcd集群
PHP talent recruitment system development source code recruitment website source code secondary development
What is ROM
ECU简介