感兴趣的可以看看哦~

体现:

repaint是某个DOM元素进行重绘;

reflow是整个页面进行重排,也就是页面所有DOM元素渲染。(可能造成页面原来的规划打乱)

如何触发:

style变动造成repaint和reflow。

不涉及任何DOM元素的排版问题的变动为repaint,例如元素的color/text-align/text-decoration等等属性的变动。

除上面所提到的DOM元素style的修改基本为reflow。例如元素的任何涉及长、宽、行高、边框、display等style的修改。

(即改变了元素在文档流中的大小,从而影响了其它元素的排版)

常见触发场景:

  1. 触发repaint:

    1. color的修改,如color=#ddd;
    2. text-align的修改,如text-align=center;
    3. a:hover也会造成重绘。
    4. :hover引起的颜色等不导致页面回流的style变动。
    5. 等等太多,一时间写出来也太难想了。
  2. 触发reflow:
    1. width/height/border/margin/padding的修改,如width=778px;
    2. 动画,:hover等伪类引起的元素表现改动,display=none等造成页面回流;
    3. appendChild等DOM元素操作;
    4. font类style的修改;
    5. background的修改,注意着字面上可能以为是重绘,但是浏览器确实回流了,经过浏览器厂家的优化,部分background的修改只触发repaint,当然IE不用考虑;
    6. scroll页面,这个不可避免;
    7. resize页面,桌面版本的进行浏览器大小的缩放,移动端的话,还没玩过能拖动程序,resize程序窗口大小的多窗口操作系统。
    8. 读取元素的属性(这个无法理解,但是技术达人是这么说的,那就把它当做定理吧):读取元素的某些属性(offsetLeft、offsetTop、offsetHeight、offsetWidth、scrollTop/Left/Width/Height、clientTop/Left/Width/Height、getComputedStyle()、currentStyle(in IE));

注意:visibility:hidden 让元素隐藏起来,虽然元素隐藏起来了但是在文档流还是占据一定的位置,并不会触发reflow

了解repaint与reflow的触发场景相关推荐

  1. 探讨css中repaint和reflow

    前言: 页面设计中,不可避免的需要浏览器进行repaint和reflow.那到底什么是repaint和reflow呢.下面谈谈自己对repaint和reflow的理解,以及结合其他技术牛的讲解,谈谈如 ...

  2. css的repaint和reflow

    css的repaint和reflow 浏览器为了重新渲染部分或整个页面,重新计算页面元素位置和几何结构(geometries)的进程叫做 reflow. 由于 reflow 是一种浏览器中的用户拦截( ...

  3. [ JS 进阶 ] Repaint 、Reflow 的基本认识和优化 (2)

    你是不是经常听师兄或一些前端前辈说不能用CSS通配符 *,CSS选择器层叠不能超过三层,CSS尽量使用类选择器,书写HTML少使用table,结构要尽量简单-DOM树要小....等这些忠告,以前我就大 ...

  4. JavaScript中的Repaint和Reflow

    开发一个页面时,不可避免的需要进行repaint和reflow.也就只有以前的静态页面才会不存在repaint和reflow.repaint主要是针对某一个DOM元素进行的重绘,reflow则是回流, ...

  5. 典型的AEB误触发场景

    AEB(自动紧急制动)为一项重要的主动安全功能,在危险时刻通过触发报警及主动制动保证车辆安全.但AEB如果在正常情况下也被触发了,反而会导致驾驶性降低.驾驶员受惊.后车追尾等负面影响.因此,针对AEB ...

  6. 【修真院pm小课堂】登录注册的触发场景

    大家好,我是IT修真院深圳分院第七期的学员,一枚正直纯洁善良pm, 今天给大家分享一下,修真院官网pm任务五,深度思考中的知识点--在什么样的时间点里去做登录操作比较好 一.登录注册 注册登录系统对于 ...

  7. Full GC触发场景及详解

    前一阵被同学问到Full GC的触发场景,一时只想到了 "老年代空间不足" 的场景.事后自己检索了一些资料,这边把这个问题整理一下. Major GC / Full GC 基于分代 ...

  8. javascript性能优化-repaint和reflow

    repaint(重绘) ,repaint发生更改时,元素的外观被改变,且在没有改变布局的情况下发生,如改变outline,visibility,background color,不会影响到dom结构渲 ...

  9. 如何减少浏览器repaint和reflow(下)

    四.如何优化你的脚本来减少reflow/repaint? 1. 避免在document上直接进行频繁的DOM操作,如果确实需要可以采用off-document的方式进行,具体的方法包括但不完全包括以下 ...

最新文章

  1. 部分手机配置信息及价格
  2. dockerfile php环境变量,docker - 在Dockerfile中,如何更新PATH环境变量?
  3. 喜马拉雅xm格式转化mp3_怎样让mp3录音转文字?
  4. java实验楼使用说明_Java 方法
  5. jsf集成spring_Spring和JSF集成:分页
  6. mysql简单外连接查询
  7. Oracle 控制文件管理
  8. python随机生成k个不重复的随机数_使用Python生成不重复的随机值
  9. keepalived+lvs基于http检测
  10. 抗光幕布哪个牌子好?
  11. Android 从零开始实现微信支付
  12. 2020年最新计算机二级考试题库资料大全!
  13. codeforces869EThe Untended Antiquity(二维树状数组)
  14. 树莓派基础实验24:超声波测距传感器实验
  15. 中年转行,拥抱互联网(上)
  16. 程序设计所遵循的一般步骤
  17. 机械臂6D姿态检测(RGB、RGBD、雷达)综述
  18. Python包 - networkx
  19. 学计算机u盘多少g合适,装系统的u盘需要多大-大白菜装win7的系统一般要多少G的U?大 – 手机爱问...
  20. ks 曲线_模型算法基础——KS曲线

热门文章

  1. TinyXML2使用方法及示例
  2. SQL查询数据库中数据统计信息
  3. 石家庄理工职业学院计算机系录取名单,石家庄理工职业学院工业机器人技术专业...
  4. python浮点数怎么运算_为什么说浮点数缺乏精确性? python中浮点数运算问题
  5. 导致网站服务器CPU跑满的原因
  6. 2019Gitex迪拜IT、电子及通讯展-中国区唯一总代
  7. 笔记_Maya_非人形绑定笔记
  8. 一个长期颈椎问题的工薪阶层关于颈椎的康复和预防的心得
  9. c语言sleep定时0.1,求助C语言Sleep延迟输入问题
  10. 统计学:LMMSE线性最小均方误差估计