浏览器的渲染机制— (js基础复习第3期)

一:几个问题

  1. 什么是DOCTYPE 及作用
  2. 浏览器渲染过程
  3. 重排refolw、重绘repaint、布局Layout
  4. 输入url经历了什么?

二:整理

1. 什么是DOCTYPE 及作用
浏览器使用DTD(文档类型定义)来判断文档类型,决定使用何种协议来解析,
以及切换浏览器模式

DOCTYPE是用来声明文档类型和DTD规范的,一个主要用途是文件的合法性验证。如果文件代码不合法,那么浏览器解析时便会出一些差错。

html5 
<!DOCTYPE html>

2.浏览器渲染过程
html-> DOM tree  
css -> CSSOM 
render tree
Layout 
painting
display

         
3. 重排reflow,repainting?
reflow:
浏览器根据各种样式来计算,并根据计算结果,将元素放到它应该出现的的位置,这个过程为

哪些操作引起reflow:
    1. 增加、删除、修改DOM 结点时候
    2. 移动DOM的位置(可能会修改其他DOM位置)
    3. 修改网页的默认字体时 (重新排)
    4. 修改CSS样式的时候
    5. resize 窗口的时候,或者滚动的时候

repaint:
    当盒子的位置、大小、以及其他属性,例如颜色、字体大小都确定下来后,浏览器于是便吧这些元素都按照各自的特性绘制了一遍,于是页面的内容出现了,这个过程称之为repaint
哪些操作引起repaint?
    1.DOM 改动
    2.css改动
4. url过程

。。。(待整理)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
浏览器渲染机制可以分为以下几个步骤: 1. 构建 DOM 树:根据 HTML 文本构建 DOM 树,即将 HTML 文本解析成一个个的节点,然后将这些节点按照其在文档中的层级关系组成一棵树。 2. 构建 CSSOM 树:根据 CSS 文本构建 CSSOM 树,即将 CSS 文本解析成一个个的样式规则,然后将这些样式规则按照其在文档中的层级关系组成一棵树。 3. 合并生成渲染树:将 DOM 树和 CSSOM 树组合成渲染树(也称为呈现树或布局树)。渲染树只包含需要显示的节点和这些节点的样式信息。渲染树的构建过程中,浏览器会忽略掉那些不需要显示的节点,例如 head 标签、display:none 的节点等。 4. 计算布局信息:根据渲染树计算每个节点在屏幕上的位置和大小,这个过程被称为布局或排版(layout 或 reflow)。布局是一个相当昂贵的操作,因为浏览器需要遍历渲染树的每个节点,并根据节点的样式、大小、位置等信息计算其在屏幕上的位置和大小。 5. 绘制页面:根据渲染树和布局信息,将页面绘制到屏幕上,这个过程被称为绘制(painting 或 rasterization)。绘制的过程中,浏览器会将渲染树中每个节点的内容转换成位图,然后将这些位图组合成一张完整的页面。 6. 提交更新:将绘制好的页面提交到 GPU,由 GPU 将其显示到屏幕上。 以上是浏览器渲染机制的主要流程,其中布局(layout 或 reflow)是整个渲染过程中最耗时的步骤,因此在开发中需要尽可能减少布局的次数,以提高页面的性能表现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值