渲染机制类

1、什么是DOCTYPE及作用?

DOCTYPE的作用是用来声明文档的类型和DTD的规范,主要用途是文件的合法性验证。DTD是文档类型定义,是用来定义XML、XHTML、HTML文档的类型,浏览器用它来判断文档的类型,并决定使用何种协议来解析文档以及切换浏览器模式。DOCTYPE不存在浏览器会启用兼容模式(混杂模式)。

对于HTML5来说,DOCTYPE的声明只需要写一行简短的代码就能做到

<!DOCTYPE html>

对于html4.01来说,则有两种模式,分别是标准模式、传统模式,两者的区别是标准模式不支持展示性元素和弃用了的元素,而传统模式会支持。

弃用的元素,(这里列举的不全面) 有

样式类(纯表现元素):big、basefont、font、s、center、strike、u、tt;

框架类(对可用性产生负面影响的元素):frame、noframes、frameset;

表单类:isindex,这个表示定义与文档相关的索引;

列表类:dir,这个表示定义目录

2、浏览器的渲染过程

首先浏览器会将html结构解析成树形的数据结构,这个叫做DOM Tree;同时也将CSS解析成树形的数据结构,这个叫做Style Tree;DOM Tree与Style Tree结合组成Render Tree,这个时候浏览器已经可以知道页面的节点、节点的CSS定义以及节点的从属关系,然后Render Tree再通过Layout计算出节点的位置,接着就是Painting和Display出页面来。

https://www.cnblogs.com/slly/p/6640761.html

3、解释重排、重绘

浏览器重排reflow:dom结构的各个节点都有自己的盒子模型,浏览器会对这些盒子进行计算并得到计算结果,把这个盒子放在它该出现的位置。

触发reflow的方法:

(1)修改、增加、删除dom节点,会导致重排,也会重绘

(2)修改css样式

(3)移动dom的位置,或者写个动画的时候

(4)reSize窗口大小(移动端没有这个问题),或者滚动的时候

(5)修改页面默认字体的时候

浏览器重绘repaint:当盒子的位置、大小和颜色、字体大小确定下来后,浏览器便把这些元素按照各自的特性绘制一遍,于是页面的内容出现了,这个过程叫做重绘。

触发重绘:

dom改动

css改动

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值