`
wyzxzws
  • 浏览: 394669 次
  • 性别: Icon_minigender_1
  • 来自: dazhou
社区版块
存档分类
最新评论

页面重排何时发生?

阅读更多

页面重排何时发生?

  1. 添加或删除可见的DOM元素。
  2. 元素位置改变。
  3. 元素尺寸改变(包括:外边矩、内边矩、边框厚度、宽度、高度等属性改变)。
  4. 内容改变,例如:文本改变或图片被另一个不同尺寸的图片替代。
  5. 页面渲染器初始化。
  6. 浏览器窗口尺寸改变。

 根据改变的范围和程度,渲染中或大或小的对应的部分也需要重新计算。有些改变会触发整个页面的重排:例如,当滚动条出现时。

 

使用以下步骤可以避免页面中的大部分重排:(尽量少使用:hover这个CSS伪选择器)

  1. 使用绝对位置定位页面上的动画元素,将其脱离文档流。
  2. 让元素动起来。当它扩大时,会临时覆盖部分页面。但这只是页面一个小区域的重绘过程,不会产生重排并重绘页面的大部分内容。
  3. 当动画结束时恢复定位,从而只会下移一次文档的其他元素。
分享到:
评论

相关推荐

    浏览器的重绘repaints与重排reflows深入分析

    二者何时发生以及如何权衡?如何在具体的开发过程中将重绘和重排引发的性能问题考虑进去?本文期待可以部分解释以上三个问题。 浏览器从下载文档到显示页面的过程是个复杂的过程,这里包含了重绘和重排。各家浏览器...

    css重绘与重排的方法

    重排发生在元素的几何属性发生变化或者DOM结构改动时,浏览器需要重新计算元素的布局,包括尺寸、位置等。这可能导致渲染树中多个节点的更新,甚至整个渲染树的重构。常见的触发重排的操作包括增加、删除或移动DOM...

    前端性能优化之重排和重绘

    有经验的大佬对这个概念一定不会陌生,“浏览器输入URL发生了什么”。估计大家已经烂熟于心了,从计算机网络到JS引擎,一路飞奔到浏览器渲染引擎。 经验越多就能理解的越深。感兴趣的同学可以看一下这篇文章,深度和...

    页面最小窗口闪烁

    1. **CSS重排(Reflow)**:当浏览器需要重新计算元素的几何属性时,就会发生重排。这可能是因为动态修改了元素的样式、添加或删除了元素、改变了元素的尺寸或位置等。重排可能导致整个页面或者部分区域重新渲染,...

    了解重排与重绘

    **重排(Reflow)**是指当元素的几何属性,如宽度、高度、位置等发生变化时,浏览器需要重新计算元素及其子元素的布局,以确定它们在页面上的精确位置。这可能导致渲染树中多个节点的更新,甚至整个渲染树的重构。...

    高性能JavaScript 重排与重绘(2)

    重绘则发生在元素的视觉样式变化时,不涉及重新布局,如改变背景色、边框等。 了解重排和重绘的概念后,我们来探讨它们的代价。在文档中提到的代码示例,说明了直接操作DOM与通过字符串操作再更新DOM所带来的性能...

    Adobe Acrobat DC Pro_官方使用手册

    辅助工具和标签功能包括创建和验证PDF辅助工具,编辑包含重排和辅助工具功能的PDF。软件提供搜索和索引PDF文档,以及创建PDF索引的功能。 在处理多媒体和3D模型方面,Adobe Acrobat DC Pro允许用户向PDF中添加音频...

    页面生命周期

    只有当元素的视觉属性(如颜色、背景)改变时才会发生重绘,而不涉及位置和大小。 6. 渲染完成:至此,页面的首次加载完成,用户可以看到页面的基本内容。 接下来是页面的交互阶段,即DOMContentLoaded和load事件...

    Web前端面试的常见知识点.pdf

    而重排则是指当元素的布局或几何属性发生变化时,浏览器需要重新计算页面布局并更新在页面上的显示内容,这个过程就称之为重排。重排的代价相对较大,因为涉及到重新构建渲染树,其操作时间要远超过重绘。此外,重排...

    24-分层和合成机制:为什么CSS动画比JavaScript高效?_For_vip_user_0011

    你可以把一页网页想象成一个复杂的图层结构,每个图层都有其自己的内容和样式,当你滚动或者缩放页面时,图层之间的关系会发生变化,从而引发页面的渲染。 Chrome的合成技术可以用三个词来概括总结:分层、分块和...

    浅谈DOM的操作以及性能优化问题-重绘重排

    而重排(又称为回流)是指元素的尺寸、位置或某些外观属性发生变化后,浏览器需要重新计算元素的位置和几何结构,然后重新渲染页面的一部分或全部。 #### 2. 触发重排的操作 重排是一个非常消耗性能的操作,常见的...

    手机端页面rem宽度自适应脚本

    - 在窗口尺寸变化时,采用延时执行的方式更新`<html>`元素的字体大小,以减少不必要的重绘和重排。 #### 七、总结 通过以上方法,我们可以实现无需`media`查询的手机端页面`rem`宽度自适应。这种方法不仅简化了...

    前端大厂最新面试题-layout_painting.docx

    在页面初始渲染阶段,回流不可避免的触发,可以理解成页面一开始是空白的元素,后面添加了新的元素使页面布局发生改变。当我们对DOM的修改引发了DOM几何尺寸的变化(比如修改元素的宽、高或隐藏元素等)时,浏览器...

    css解决font-weight:blod跳动问题的解决

    浏览器为了适应新的布局,需要重新计算元素的位置,这就引发了页面重排,进而造成了跳动现象。 3. 如何避免页面跳动? 为了避免这种跳动现象,我们可以采用以下几种方法: - 使用`transform`属性进行位移替代直接...

    减少布局抖动

    "布局抖动"(Layout Thrashing)是其中一种常见的性能瓶颈,它发生在浏览器频繁地进行重排(layout)操作,导致渲染流程卡顿,严重影响用户体验。本篇文章将深入探讨布局抖动的概念、产生的原因以及如何通过使用`...

    渲染篇 2:知己知彼——解锁浏览器背后的运行机制(2).md

    重排是当元素的布局改变时发生的,而重绘是当元素的样式改变(不涉及布局变化)时发生的。开发者应当尽量避免这两种操作,特别是在性能敏感的区域。 - **使用CSS3硬件加速:** 在支持硬件加速的浏览器中,合理使用`...

    HTML页面输出应该遵循的几点原则小结

    在CSS中使用表达式,如expression(),会导致每次页面内容发生变化时,浏览器都要重新计算表达式,消耗资源,影响性能。应使用javascript在页面加载完成时计算并设置样式,以此节省用户端资源,并避免不必要的性能...

    详解浏览器渲染页面过程

    如果渲染树中的某部分发生变化,导致元素尺寸变化,就会触发重排。接着是绘制(Painting),当元素颜色、背景等视觉属性改变时,无需调整其他元素的位置,仅需更新这部分内容,这个过程称为“重绘”(repaint)。 ...

Global site tag (gtag.js) - Google Analytics