原生html、css、javascript渲染过程

一、构建DOM树

通过HTML解析器将HTML解析为DOM
(这里也有可能加载,如果有先下载、加载此js文件,执行js代码,会引起阻塞)
(浏览器不是多线程吗?为什么要先下载加载解析js,因为先加载完js,避免后加载js造成过多的重绘、重排,虽然出现阻塞,但也减少了重绘重排。)

二、构建CSSOM

通过CSS解析器将CSS解析为CSSOM(CSS对象模型)
加载外部图像资源

三、布局

将DOM和CSSOM合并为渲染树(render tree)

四、Javascript引擎

当javascript操作时,可能会引起重绘重排

document.write('hello')
document.getElementById('box').style.width='100px'
document.querySelector('.box1').style.background='red'

重新构建CSSOM,生成渲染层,生成图像

你可能感兴趣的:(Javascript,html,css,js,css,html)