1、真实DOM的渲染过程
DOM树的构建
HTML在页面进行解析时,会先解析HTML以及css代码,当遇到js代码是就会暂停解析,所以我们一般会将script标签放在最下面。
CSS树的构建
与构建DOM类似,浏览器也会将样式规则,构建成CSSOM。浏览器会遍历CSS中的规则集,根据css选择器创建具有父子,兄弟等关系的节点树。
Render树的构建
这一步是将html与css进行关联,确定每个节点使用什么样式,在页面中可见的节点,可以生成到render树中,不可见的不能生成到rebder树中(hesd 以及display:none的节点)
回流与重绘
当给一个元素更换颜色、更换背景,虽然不会影响页面布局,但是颜色或背景变了,就会重新渲染页面,这就是重绘。
当增加或删除dom节点,或者给元素修改宽高时,会改变页面布局,那么就会重新构造dom树然后再次进行渲染,这就是回流。导致回流的原因:①浏览器窗口大小的改变②元素字体大小的变化 ③增加或者一处样式表④内容的变化⑤添加或则删除可见元素 等等
重绘不一定引起回流,但是回流一定会引起