当前位置:网站首页>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 !
边栏推荐
猜你喜欢

浏览器渲染原理以及重排与重绘

二叉树相关OJ题

Seaborn draws 11 histograms
![[729. My Schedule i]](/img/e3/32914227d00cf7595ee850e60f2b72.png)
[729. My Schedule i]

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

Jarvis OJ 远程登录协议

WSL2.0安装

清晰还原31年前现场,火山引擎超清修复Beyond经典演唱会

"21 days proficient in typescript-3" - install and build a typescript development environment md

PHP人才招聘系统开发 源代码 招聘网站源码二次开发
随机推荐
[729. My Schedule i]
Pspnet | semantic segmentation and scene analysis
WSL2.0安装
Solution of vant tabbar blocking content
Data verification before and after JSON to map -- custom UDF
Jarvis OJ shell流量分析
Games101 notes (II)
怎样在电脑上设置路由器的WiFi密码
Hiengine: comparable to the local cloud native memory database engine
Cs231n notes (bottom) - applicable to 0 Foundation
Jarvis OJ shell traffic analysis
Jarvis OJ Telnet Protocol
Jarvis OJ simple network management protocol
Summary of PHP pseudo protocol of cisp-pte
【微信小程序】一文读懂小程序的生命周期和路由跳转
微信公众号网页授权登录实现起来如此简单
Flet教程之 11 Row组件在水平数组中显示其子项的控件 基础入门(教程含源码)
手机开证券账户安全吗?怎么买股票详细步骤
调查显示传统数据安全工具面对勒索软件攻击的失败率高达 60%
ECU简介