美文网首页
重排和重绘

重排和重绘

作者: bestCindy | 来源:发表于2020-09-16 19:06 被阅读0次

重排(Reflow)

当 render tree 中的 node 的几何属性发生变化的时候,浏览器会使 render tree 中受影响的部分失效,并重新构造 render tree

重绘(Repaint)

当 render tree 中的 node 的样式发生改变的时候,浏览器会根据元素的新属性重新绘制,使元素呈现新的外观

所以,重绘不一定需要重排,重排必定导致重绘

引发重排

  • 添加删除可见的 dom
  • 元素位置改变
  • 元素的尺寸改变(外边距,内边距,边框厚度,宽高等几和属性)
  • 页面渲染初始化
  • 获取某些属性的时候,浏览器为了获取正确的值也会触发重排,因为该操作会导致队列刷新
    • offsetTop,offsetLeft,offsetWidth,offsetHeight
    • scrollTop,scrollLeft,scrollWidth,scrollHeight
    • clientTop,clientLeft,clientWidth,clientHeight
    • ……

引发重绘

改变某个元素的背景色,文字颜色,边框颜色

优化

浏览器自己的优化

  • 浏览器会维护一个队列,把所有引起重排,重绘的操作放到这个队列里面,等队列中的操作到一定的数量或者到了一定的时间间隔,浏览器会 flush 队列,进行一批处理,这样多次重排,重绘变成一个重排重绘

减少重排重绘

  • 不要一条一条的修改 DOM 样式,可以先定义好 class,然后修改 DOM 的 className
  • 减少对 DOM 的操作

相关文章

  • 浏览器重排(回流)重绘以及优化方案

    一、什么是重排和重绘 要说清重排(reflow)和重绘(repaint),首先要理解排列和绘制,浏览器渲染页面时,...

  • 浏览器的重绘和重排

    重绘和重排 重排是因为元素的几何属性改变,导致渲染树中的节点发生改变,从而影响到其它节点发生重绘。重排对性能影响极...

  • 浏览器页面的重绘和重排

    对于页面,我们经常有CSS对网页进行呈现样式效果,这就涉及到了页面的重绘和重排 重绘(repaints)与重排(r...

  • 重排和重绘

    1.重排和重绘的概念 重排: 部分渲染树(或者整个渲染树)需要重新分析并且节点尺寸需要重新计算。这被称为重排,注意...

  • 重绘和重排

    什么引发重绘?改变元素的外观,例如颜色等(无尺寸变化)。 什么引发重排? 页面初始化渲染 添加或者删除dom节点 ...

  • 重绘和重排

    DOM树:表示页面结构。渲染树:表示DOM节点如何显示。 定义 当DOM元素影响了元素的几何属性(例如宽和高),浏...

  • 重绘和重排

    1.重绘和重排 重排当DOM变化影响了元素的几何属性,浏览器需要重新计算元素的几何属性,其他元素的几何属性和位置也...

  • 重排和重绘

    重排(Reflow) 当 render tree 中的 node 的几何属性发生变化的时候,浏览器会使 rende...

  • 重绘和重排

    参考 浏览器渲染机制 浏览器采用流式布局模型(Flow Based Layout)。 浏览器会把 HTML 解析成...

  • 重排和重绘

    重排(回流):当我们对 DOM 的修改引发了 DOM 几何尺寸的变化(比如修改了元素的宽、高或隐藏元素等)时,浏览...

网友评论

      本文标题:重排和重绘

      本文链接:https://www.haomeiwen.com/subject/wluhyktx.html