美文网首页
回流和重绘

回流和重绘

作者: YouKnowznM | 来源:发表于2017-11-23 11:36 被阅读0次
  • 回流(必定产生重绘)
    渲染树中的元素因尺寸、布局、显隐的改变重新构建,产生回流
    每页至少需一次回流(加载时)
    发生时,渲染树中受影响的部分(和后面的元素)被重新构造

    1. 调整窗口的大小
    2. 改变字体,如果用rem 设置了根目录的字体大小,这样就减少了回流的次数
    3. 增加或者移除样式表
    4. 内容的变化,用户在input中输入了文字(这是不可避免的)
    5. 激活CSS的伪类
    6. 操作class属性
    7. 基本操作DOM(包括js中的domcument等)
    8. 计算offsetWidth与offsetHeight 属性,获取元素在窗口中的位置
    9. 在html代码中直接设置 style 属性的值,这个降低了代码的利用率,还影响性能
  • 重绘(不一定产生回流)
    渲染树中的元素更新不影响布局和尺寸的可见属性(background、visibility)等时,产生重绘

  • 如何减少
    减少对渲染树的操作(合并多次多DOM和样式的修改)和对一些style值的请求

    1. 对尺寸、布局改动频繁的元素abosolute或fixed定位,使之脱离渲染树
    2. 样式表放在head标签中,脚本放在body结束前。
    3. 避免多次获取、操作dom节点
    4. 修改元素的class而不是直接操作样式
  • 例子
    top/left是布局类的样式,这个样式的变化会导致回流 - 即指对这些节点以及受这些节点影响的其它节点,进行CSS计算->布局->重绘过程,这个过程的前2步是消耗大量资源的
    translate导致重绘- 即在屏幕上重新画一下,不会进行CSS计算和布局这2个性能大户,所以我们认为translate性能上要明显好于top/left

相关文章

  • 面经 之 Browser浏览器读后感

    浏览器,原文请移步Browser | InterviewMap 回流和重绘 回流和重绘 - 掘金 存储 cooki...

  • 前端总结(后续继续更新)

    1,reflow和repaint:回流和重绘。回流:renderTree 重建。重绘:外观样式风格进行更新。(co...

  • 前端一些细节

    1,reflow和repaint:回流和重绘。回流:renderTree 重建。重绘:外观样式风格进行更新。(co...

  • 22,重绘、回流

    1,浏览器渲染机制 2,重绘 3,回流 > 重绘。 4,浏览器优化 5,减少重绘和回流

  • 浏览器渲染回流重绘与性能优化

    我们根据渲染的流程可知, 回流一定会触发重绘,而重绘不一定会回流。 渲染性能优化 回流和重绘的代价是比较昂贵的,渲...

  • DOM树 CSS树 render树 以及JS的加载

    回流和重绘回流一定会引起重绘而重绘可以单独触发 例如修改背景颜色 字体颜色等...引起回流的因素:1.DOM节点 ...

  • 前端性能优化(HTML、CSS、JS)

    1.HTML优化篇 1.减少重绘和回流 不了解重绘和回流请点击我要了解 回流这一阶段主要是计算节点的位置和几何信息...

  • 怎样区分页面的回流和重绘

    一、什么是回流和重绘 引起DOM树结构变化,页面布局变化的行为叫回流,且回流一定伴随重绘。只是样式的变化,不会引起...

  • 回流与重绘

    回流一定会触发重绘回流: DOM结构的增删改重绘: 颜色,背景, 字体等视觉上页面的改变 重绘不一定触发回流 如何...

  • 回流和重绘

    一、定义 (1)回流:当reader tree中的部分或全部节点的规模尺寸,布局,隐藏等改变而需要重建。这个过程称...

网友评论

      本文标题:回流和重绘

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