1.什么是DOCTYPE及作用
DTD(document type definition,文档类型定义)是一系列的语法规则,用来定义XML/HTML的文件类型。浏览器会使用他来判断文档类型,决定使用何种协议来解析以及切换浏览器模式。
DTD简单来说就是告诉浏览器,自己是什么文档类型,浏览器根据DTD来判断用什么引擎来解析他。
DOCTYPE是用来声明文档类型和DTD规范的,一个主要的用途便是文件的合法性验证。如何文档代码不合法,那么浏览器解析时便会出一些差错。
DOCTYPE简单来说就是直接告诉浏览器当前文档包含哪个DTD,哪个文档类型。
常见的DOCTYPE
HTML5
<!DOCTYPE html>
HTML4.0.1
一个严格模式:该DTD包含所有HTML元素和属性,不包括展示性和弃用的元素(比如font)
一个传统模式(宽松模式):该DTD包含所有HTML元素和属性,包括展示性和弃用的元素(比如font)
2.浏览器的渲染过程
浏览器解析html与style sheets分别生成DOM Tree与style Rules ,两种相结合生成Render Tree ,通过layout布局,最后渲染在屏幕上。
详情:https://blog.csdn.net/qq593249106/article/details/83062057
3.重排(回流)Reflow
定义:DOM结构中的各个元素都有自己的盒子(模型),这些都需要浏览器根据各种样式来计算并根据计算结果,将元素放在它该出现的位置,这个过程称之为reflow
触发reflow:
修改Dom节点
移动Dom位置、或是动画
修改CSS样式(width/height等)
resize窗口,滚动窗口
修改网页默认字体
4.重绘Repaint
定义:当每个元素(每个元素皆为盒子模型)的位置、大小以及其他属性(如颜色、字体等)都计算完毕后,浏览器随后把这些元素重新
什么时候触发repaint?
修改dom
修改css
画了一遍,这个过程为repaint。
5.布局Layout