重排和重绘的区别

都是很消耗性能的操作,减少重绘、重排可以优化网页性能

重排

重排的过程就发生在DOM节点信息修改的时候,重排实际是根据渲染树中每个渲染对象的信息,计算出各自渲染对象的几何信息,例如DOM元素的位置、尺寸、大小等,然后将其安置在界面中正确的位置

以下是会触发重排是场景:

页面首次渲染。

浏览器窗口大小发生改变。

元素尺寸或位置发生改变。

元素内容发生变化。

元素字体发生变化。

添加或删除可见的DOM元素。

获取某些特定的属性。

重绘

更改了元素的字体颜色、背景色、透明度等,浏览器均会将这些新样式赋予元素并重新绘制。

当样式需要各种属性变化时,放在一起一个{color : "#f00" , height : "100px"}里面,一次性操作。

重排一定会引起重绘的操作,而重绘却不一定会引起重排

你可能感兴趣的:(前端,css3,css)