课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
虽然对于用户来说,访问网站仅仅是输入一个网页地址,但是对于浏览器来说是需要经过许多步骤去实现的,而今天我们就一起来了解一下,浏览器渲染都会遇到的问题有哪些。
1、DOM树的构建是文档加载完成开始的?
DOM树的构建是从接受到文档开始的,先将字节转化为字符,然后字符转化为标记,接着标记构建dom树。这个过程被分为标记化和树构建
而这是一个渐进的过程。为达到更好的用户体验,呈现引擎会力求尽快将内容显示在屏幕上。它不必等到整个HTML文档解析完毕之后,就会开始构建呈现树和设置布局。在不断接收和处理来自网络的其余内容的同时,呈现引擎会将部分内容解析并显示出来。
2、渲染树是在DOM树和CSS样式树构建完毕才开始构建的吗?
这三个过程在实际进行的时候又不是完全独立,而是会有交叉。会造成一边加载,一边解析,一边渲染的工作现象。
3、css的标签嵌套越多,越容易定位到元素
css的解析是自右至左逆向解析的,嵌套越多越增加浏览器的工作量,而不会越快。
因为如果正向解析,例如「divdivpem」,我们先就要检查当前元素到html的整条路径,找到上层的div,再往下找,如果遇到不匹配就必须回到上层那个div,往下再去匹配选择器中的一个div,回溯若干次才能确定匹配与否,效率很低。
逆向匹配则不同,如果当前的DOM元素是div,而不是selector后的em,那只要一步就能排除。只有在匹配时,才会不断向上找父节点进行验证。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。