浏览器渲染过程
浏览器渲染的过程主要包括几棵对象树的建立。
1. 首先,在解析HTML的过程中,会收集相应的HTML节点逐渐形成一棵DOM Tree。
2.结合CSS 和 DOM Tree 形成 Render Tree. Render Tree只包含需要显示(display)的节点,节点上拥有css 中例如背景颜色等信息,但没有显示位置(position)的信息。
3.在上面的基础上计算位置,形成Layout Tree. 包含节点的位置信息
然后浏览器开始绘制页面。
这里顺便解释一下window.onload和$(document).ready()的区别。
首先,window.onload是标准的DOM事件,而ready是jquery的的事件。
ready事件在HTML文档加载后就立即触发,而onload事件是在页面所有的内容都加载完成后(包括图片资源)才触发。
ready 事件的设计目的是,有些代码,例如为元素添加功能的代码应该尽早被执行,而不用等到所有的内容都加载完成才执行。
Goals determine what you are going to be!