一:什么是doctype
一句话解释:
doctype是告诉浏览器以何种类型进行解析
种类:
1:html5
2:4.01严格模式(不包含展示性弃用元素)
3:4.01传统模式
二:浏览器渲染过程:
浏览器渲染涉及三方面内容:html,css , js 都会影响页面的最终呈现形式
step1:拿到html 经过html parser(html解析器)转化成domTree
step2:css经过css parser 转化成cssom tree
step3:通过layout 来告诉浏览器render的时候要显示的dom真正的位置,宽高,颜色,(domTree 和 cssom 经过layout的过程 组成renderTree)
layout的作用就是计算每个dom的位置宽高
step4:paiting
step5:dispaly
三:reflow 重排
1:定义:
每个dom元素都有自己的盒子模型,浏览器根据各种样式来计算,并将盒子放在该出现的位置,这个过程称为reflow
2:什么情况会触发reflow
1:当删除,增加,修改dom节点时
2:当修改css样式时
3:当移动dom位置,动画的时候
4:缩放窗口的时候有可能会(移动端没这个问题)resize事件时
5:当修改浏览器默认字体时候
四:重绘 repaint
1:通过构造渲染树和回流阶段,知道了哪些节点是可见的,以及可见节点的样式和具体的位置、大小等,将渲染树的每个节点都转换为屏幕上的实际像素,这个阶段就叫做重绘节点
触发repaint
2: 只需要判断当前呈现是否有改动,无论是css改动还是dom改动
1:dom 改动
2:css改动
3: 如何避免最小程度的repaint