-
Notifications
You must be signed in to change notification settings - Fork 45
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Day28 - 简述一下浏览器渲染过程 #80
Comments
浏览器的渲染过程主要分成四大部分: 下面简述每一步都做了什么
|
|
|
浏览器渲染过程
|
首先从上到下解析html构建dom树,首先预解析会优先把所有src属性都发出请求不会被停止,html解析器如果遇到普通的script标签就停下来先执行script的内容,遇到css就用css引擎解析。最后生成一个dom树和css树,然后合成渲染树。进行重排再进行重绘,将页面展示出来。 |
|
浏览器渲染过程简述
|
浏览器获取HTML字节数据后会将字节解析为DOM树,当遇到标签时,浏览器就开始解析CSS,像构建DOM树一样构建CSSOM树,然后将DOM树、CSSOM树结合在一起,构建渲染树,最后是计算每个节点的布局,开始绘制渲染页面 |
|
渲染流程有四个主要步骤: 1.解析HTML生成DOM树 - 渲染引擎首先解析HTML文档,生成DOM树 |
|
|
|
|
1分别解析HTML和css, 生成浏览器识别的dom树和css规则树 |
1.生成dom树 |
● 浏览器将获取的HTML文档解析成DOM树。 |
将请求到 html 和 css 文件解析为 dom 树 和 层叠样式表 -> 合并得到渲染树 -> 进行布局 -> 最后将渲染树绘制到屏幕上 |
我们谈论渲染过程,那么就从浏览器从服务端拿到页面数据开始说起
|
首先浏览器从网络或硬盘中获得HTML字节数据开始:
|
浏览器的渲染过程大致可以分成几个关键的阶段: 首先就是浏览器会利用HTML文档字符串去生成 DOM 树和 CSS 树,随后,通过这两棵树去生成一棵 render 树,然后用这颗 render 树去确定界面上每一个盒子的尺寸大小以及它们的外观,然后确定出来的这些尺寸大小、外观信息就交给 GPU 做界面上的最终显示,这就是一个大致的过程。 |
The text was updated successfully, but these errors were encountered: