一、DOM树和渲染树
- 下面是浏览器的渲染过程
DOM
树和渲染树的特点:
- 一般来说,它们都是一一对应的
- 也有例外的情况:
- 比如可显示元素:
head
标签就不会出现在渲染树上,设置了display: none
的元素也不会出现在渲染树上,但是他们都会出现在DOM
树上- 比如定位元素:设置了非
static
的定位元素,其只是渲染树上的一个占位符,它自己会去别的地方进行渲染
- 理解好
DOM
树和渲染树对于我们如何更好操作DOM
有很大的帮助!
- 比如,在操作
DOM
的时候,我先让元素display:none
,操作完了,才显示,这样就会减少渲染树的干扰,绘制起来的速度就会更快了
- 对操作复杂的动画也是如此:
- 为这个动画设置定位,它会脱离正常的渲染,这样也会减少渲染树的干扰