当前位置:网站首页>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 !
边栏推荐
- 解决CMakeList find_package找不到Qt5,找不到ECM
- Global Data Center released DC brain system, enabling intelligent operation and management through science and technology
- [js] 技巧 简化if 判空
- 机器学习编译第2讲:张量程序抽象
- Jarvis OJ Flag
- 浏览器渲染原理以及重排与重绘
- 养不起真猫,就用代码吸猫 -Unity 粒子实现画猫咪
- 數據訪問 - EntityFramework集成
- [deep learning] [original] let yolov6-0.1.0 support the txt reading dataset mode of yolov5
- 【刷题篇】有效的数独
猜你喜欢

2020-2022 two-year anniversary of creation
![[brush title] goose factory shirt problem](/img/c8/44496c767a778101cf3982bd911933.png)
[brush title] goose factory shirt problem

Data access - entityframework integration

How to install MySQL

普洛斯数据中心发布DC Brain系统,科技赋能智慧化运营管理

數據訪問 - EntityFramework集成

阈值同态加密在隐私计算中的应用:解读

Global Data Center released DC brain system, enabling intelligent operation and management through science and technology

PHP人才招聘系统开发 源代码 招聘网站源码二次开发

The two ways of domestic chip industry chain go hand in hand. ASML really panicked and increased cooperation on a large scale
随机推荐
How was the middle table destroyed?
"21 days proficient in typescript-3" - install and build a typescript development environment md
[729. My schedule I]
Solution of vant tabbar blocking content
网站页面禁止复制内容 JS代码
Starkware: to build ZK "universe"
Enter a command with the keyboard
Jarvis OJ Flag
yarn 常用命令
Sentinel flow guard
什么是ROM
深耕5G,芯讯通持续推动5G应用百花齐放
Explain in detail the functions and underlying implementation logic of the groups sets statement in SQL
How to uninstall MySQL cleanly
如何安装mysql
Flet教程之 09 NavigationRail 基础入门(教程含源码)
Deep learning plus
Etcd build a highly available etcd cluster
Flet教程之 12 Stack 重叠组建图文混合 基础入门(教程含源码)
【剑指 Offer】62. 圆圈中最后剩下的数字