这篇文章将为大家详细讲解有关css中浏览器渲染过程的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
说明
1、根据HTML构建HTML树(DOM)。
2、根据CS构建CSS树(CSSOM)。
3、将两棵树合并成一颗渲染树(render tree)。
4、Layout布局。
(文档流、盒模型、计算大小和位置)
5、Paint绘制。
(把边框颜色、文字颜色、阴影等画出来)
6、Compose合成。
(根据层叠关系展示画面)
如果是块级元素,就会设置好宽高,不存在任何问题。但如果是图片,此时是无法得知高度的(行内元素),只有等待第五步绘制以后再能确定高度。而图片的绘制需要时间,在尚未绘制完成的时候,获取到的高度则会出现问题。合理的解决方案是使用setTimeout延时获取div的高度。
<div></div>
<script>
var odiv = document.getElementById('bgImg');
odiv.innerHTML = '<img src="test.jpg">'
setTimeout(() => {
var oHeight = odiv.scrollHeight;
console.log(oHeight);
},100)
</script>
关于“css中浏览器渲染过程的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:https://www.py.cn/web/css/32688.html