web前端在什么情况下会触发重排和重绘

重绘:dom节点的css样式颜色的变化过程叫做重绘 改变的是cssTree 一部分变化,对randerTree影响相对较小。所以相对与重排而言对浏览器性能影响较小
重排:js动态的修改dom 即更改了DOM树了 更改dom树之后 renderTree就变了,renderTree变了也就是要重新建立一个renderTree了 ,这个过程叫做重排。

web前端在什么情况下会触发重排和重绘_第1张图片

回流触发的情况:页面首次渲染;浏览器窗口大小发生改变;元素尺寸或位置发生改变;元素内容变化(文字数量或图片大小等等);元素字体大小变化;添加或者删除可见的DOM元素;触发display
重绘触发条件:当页面中元素样式的改变并不影响它在文档流中的位置时(例如:color、background-color、visibility等),浏览器会将新样式赋予给元素并重新绘制它。
性能优化:避免频繁的样式操作,最好一次性重写style,或者一次性更改class,避免频繁操作dom,对具有复杂动画的元素使用绝对定位,使它脱离文档流,否则会引起父元素及后续元素频繁回流。

前端培训

你可能感兴趣的:(WEB前端)