当前位置: 首页 > news >正文

【重绘】和【回流】概念以及如何减少回流

重绘:重绘是指只改变样式,不改变布局。重绘会导致浏览器重新绘制元素。

哪些会导致重绘:修改元素的背景颜色、字体颜色等等

回流:当前元素的布局属性发生改变,浏览器需要重新计算元素在页面中的布局的过程。

哪些会导致回流:修改元素的宽、高、位置等等

 

重绘和回流的差异:回流的成本比重绘高得多,因为回流需要重新计算元素得几何属性和页面布局,而重绘只是重新绘制样式。

如何减少回流带来的开销呢?

1、使用CSS动画代替JavaScript动画。CSS动画利用GPU加速,在性能方面通常比JavaScript动画更加高效。使用CSS的transform 和 Opacity 属性来创建动画,而不是改变布局,如宽、高

2、使用translate3d 开启硬件加速:将元素的位移属性设置为translate3d(0,0,0),可以强制使用GPU加速。这样可以避免回流,提高动画的流畅度

3、避免频繁设置影响布局的样式属性:当需要对元素频繁的进行样式修改,可以合并为一次性操作,通过 添加/移除 CSS类来一次性改变多个样式属性。避免一个一个进行修改处理

4、使用requestAnimationFrame:通过这个方法进行调用动画帧,可以确保动画在浏览器的重绘周期内执行,从而避免不必要的回流。这个方法可以确保动画在最佳时间点进行渲染

5、使用文档片段(Document Fragment): 当我们需要大量插入新元素,可以将新元素加到文档片段中,然后将文档片段一次性插入DOM中。这样可以减少回流次数(虚拟dom)。【注意】只是减少回流次数

6、让元素脱离文档流:position: absolute\fixed;float:left。【注意】只是减少回流

  使用visibility: hidden 代替display: none。【理由】visibility 元素依旧占位 不会触发回流;display:none 会将元素从渲染树中移除,从而引起回流

 

http://www.sczhlp.com/news/60143/

相关文章:

  • 网站死链删除网站营销建设公司
  • 沙特网站后缀西安网站制作平台
  • 菏泽做网站的项城市建设方案公示在哪个网站
  • 知名网站定制报价新浪云搭建wordpress
  • 养老院服务质量建设专项网站全网营销型网站新闻
  • 下载app 的网站 如何做济源市网站建设
  • 西乡专业建站企业网站建设合同模板
  • 顺德购物网站建设网站建设hairongsoft
  • 低价网站建设行业现状上海专业的网站建
  • 延迟渲染跟向前渲染的区别
  • 京东优惠劵网站怎么做网站建设顶部图片
  • 沙漠风网站建设怎么样中山建设信息网
  • 什么网站做前端练手好携永东方 wordpress
  • 手机上部署网站织梦网站设计
  • 在线平面设计作图网站做网站的费用计入哪个科目
  • 建立网站备案需要什么资料17网站一起做网店广州国大
  • 做彩票网站犯法不网站加速
  • 网站建设 应该考虑什么百度收录不了网站吗
  • 源码网站代理经济网站建设
  • 10万以下纯电动汽车排名网站优化培训机构
  • 论坛类网站建设网站建设费能计入无形资产
  • 济南企业自助建站网络营销成功的品牌
  • 网站建设个人职责南昌网站建设公司网站建设公司
  • 网站建设招标文件技术部分网络营销渠道的功能有
  • 榆林网站seowordpress产品演示
  • 20250901 做题记录
  • mvc5网站开发之六临淄信息网招聘
  • [多图]一例微波炉磁控管漏电维修
  • 台州 网站建设wordpress迷
  • 物流手机网站模板代理注册公司代理记账