Fe-interview: [css] 第166天 会引起Reflow和Repaint的操作有哪些?

Created on 28 Sep 2019  ·  4Comments  ·  Source: haizlin/fe-interview

第166天 会引起Reflow和Repaint的操作有哪些?

css

Most helpful comment

  • 回流: 当Render Tree中部分或全部元素的尺寸、结构、或某些属性发生改变时,浏览器重新渲染部分或全部文档

    • 页面首次渲染

    • 浏览器窗口大小发生改变

    • 元素尺寸或位置发生改变

    • 元素内容变化(文字数量或图片大小等等)

    • 元素字体大小变化

    • 添加或者删除可见的DOM元素

    • 激活CSS伪类(例如::hover)

    • 查询某些属性或调用某些方法

  • 重绘:当页面中元素样式的改变并不影响它在文档流中的位置时(例如:color、background-color、visibility等),浏览器会将新样式赋予给元素并重新绘制它

All 4 comments

页面布局和几何信息(比如:增加删除dom,改变元素位置或者尺寸等)发生改变时,会触发Reflow。
给dom节点添加样式,会触发Repaint。
触发Reflow一定会引起Repaint,触发Repaint的情况不一定引起Reflow。

dom节点的操作一定会Repaint,大小位置的变化以及节点的增删会额外造成Reflow

  • 回流: 当Render Tree中部分或全部元素的尺寸、结构、或某些属性发生改变时,浏览器重新渲染部分或全部文档

    • 页面首次渲染

    • 浏览器窗口大小发生改变

    • 元素尺寸或位置发生改变

    • 元素内容变化(文字数量或图片大小等等)

    • 元素字体大小变化

    • 添加或者删除可见的DOM元素

    • 激活CSS伪类(例如::hover)

    • 查询某些属性或调用某些方法

  • 重绘:当页面中元素样式的改变并不影响它在文档流中的位置时(例如:color、background-color、visibility等),浏览器会将新样式赋予给元素并重新绘制它
Was this page helpful?
0 / 5 - 0 ratings