重绘回流

先来了解一下什么是重绘和回流。

重绘: 元素的可见性发生变化,这个元素会重新渲染,就叫做重绘。
可见性是指background,color,opacity,outline等这些可见属性。

重绘会对浏览器造成很大的性能消耗。

.box{
    width: 100px; 
    height: 100px; 
    background: red; 
}
box.style.background = "blue"; //重绘

回流: 当元素的形状或者位置发生变化,会影响身边的元素(子级、父级、兄弟),甚至有可能会导致整个页面重新渲染。

性能消耗非常可怕。

注意: 回流必然会发生重绘,重绘不一定发生回流。
box.style.width = "200px";  //回流+重绘

发生回流的情况:
1.onload (页面最少会触发一次回流)
2.改变页面大小 onresize
3.改变形状 (width,height,padding, border,font ...)
4.改变位置(margin,left,right)
5.添加或者删除DOM
6.table布局

如何避免回流:
1.将多个样式集中赋予

box.className = "active ";  
或者
box.style.cssText = "width: "+100*3+"px; height: "+100*3+"px; background: blue";

2.动画尽量使用定位(position)或者使用变形
3.不要使用CSS表达式
4.尽量少使用table布局

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,697评论 1 92
  • 页面的回流,重绘 浏览器渲染页面的处理流程 浏览器把获取到的HTML代码解析成1个DOM树,HTML中的每个tag...
    自度君阅读 3,584评论 0 1
  • 简介浏览器可以被认为是使用最广泛的软件,本文将介绍浏览器的工 作原理,我们将看到,从你在地址栏输入google.c...
    听风阁阅读 8,560评论 0 7
  • 在讨论页面重绘、回流之前。需要对页面的呈现流程有些了解,页面是怎么把html结合css等显示到浏览器上的,下面的流...
    放风筝的小小马阅读 4,979评论 0 2
  • 世间安得双全法,不负如来不负卿
    e6725e7c77e8阅读 968评论 0 0

友情链接更多精彩内容