目录

    浏览器重绘(repaint)重排(reflow)与优化

    常见引起重排属性和方法

    任何会改变元素几何信息(元素的位置和尺寸大小)的操作,都会触发重排,下面列一些例子:

    1. 添加或者删除可见的DOM元素;
    2. 元素尺寸改变——边距、填充、边框、宽度和高度
    3. 内容变化,比如用户在input框中输入文字
    4. 浏览器窗口尺寸改变——resize事件发生时
    5. 计算 offsetWidth 和 offsetHeight 属性
    6. 设置 style 属性的值
    常见引起重排属性和方法
    width height margin padding
    display border position overflow
    clientWidth clientHeight clientTop clientLeft
    offsetWidth offsetHeight offsetTop offsetLeft
    scrollWidth scrollHeight scrollTop scrollLeft
    scrollIntoView() scrollTo() getComputedStyle()
    getBoundingClientRect() scrollIntoViewIfNeeded()

    [浏览器重绘(repaint)重排(reflow)与优化浏览器机制] - 掘金 (juejin.cn)