坚果大叔 坚果大叔
  • 首页
  • 闲言碎语
  • 技术
  • 生活
  • 记录
  • 朋友
  • 热点新闻
  • 常用代码
  • 工具箱
  • 关于
首页 › 技术 › 页面的重绘(repaint)与回流(reflow)

页面的重绘(repaint)与回流(reflow)

坚果大叔
2018-12-12 14:16:10技术阅读 1,855

1. 回流(reflow)

当dom中render树中的节点或者元素的大小,边距,数量发生变化后,导致页面需要重新构建的过程叫做回流。另外如果浏览器获取某些元素属性也会触发回流,例如:offsetTop,offsetLeft等。

2. 重绘(repaint)

当dom中元素的属性,例如:颜色,字体样式等发生变化时,只需要更改该元素的时候叫做重绘。

3.回流的成本高于重绘

4.回流一定重绘,重绘不一定会回流

5.如何优化

1.避免单个修改节点样式,尽量一次性修改
2.使用DocumentFragment将需要多次修改的DOM元素缓存,修改好后一次性替换
3.将需要多次修改的DOM元素设置成display:none,修改完成后在改回来。
4.避免读取上述的那些属性
5.将复杂的dom节点脱离文档流。
repaint
赞赏 赞(0)
本文系作者 @坚果大叔 原创发布在 坚果大叔。未经许可,禁止转载。
map,filter,forEach的区别和用法
上一篇
Vue响应式原理
下一篇
在小程序中查看
搜你想看的
聚合文章
前端两三问(20190915)
四月底
将数组中空值字段赋默认值!
过去的,一点记录!
闲言碎语
Memos
npm install 出现 Error:EISDIR:illegal operation on a directory 的错误提示!
2025-03-31 19:02:11
559 0 0
iphone 利用 Scriptable 添加网上国网电费小组件
2025-01-06 20:40:20
5,006 6 2
在博客中加上memos记录展示。
2024-12-25 23:41:27
2,333 5 2
网页点击平滑滚动效果~
2024-10-17 16:43:08
2,037 4
  • 0
博主

一位佛系的前端开发者,略通摄影,乐于尝试新事物,热衷于美食。

友链
故事胶片
公众号
坚果大叔 执行上下文 卖坚果的怪叔叔 Dacking
Copyright © 2017-2025 坚果大叔

开往-友链接力

萌ICP备20230818号

苏ICP备18048410号-3
  • 首页
  • 闲言碎语
  • 技术
  • 生活
  • 记录
  • 朋友
  • 热点新闻
  • 常用代码
  • 工具箱
  • 关于
# CSS # # JavaScript # # vue # # 微信 # # 生活 #
坚果大叔
317
文章
125
评论
365
喜欢