【css】重绘和回流

本文介绍了浏览器渲染过程中发生的重绘和回流现象,探讨了如何通过避免多层内联样式、减少DOM操作、选择合适的布局方式(如避免table布局)以及利用requestAnimationFrame优化动画来降低这两种过程的频率,提升网页性能。
摘要由CSDN通过智能技术生成
重绘和回流是在浏览器渲染页面时发生的。
重绘:当元素的外观样式(如:字体颜色、背景色等属性)发生变化时,浏览器重新绘制受影响的元素,但不改变
其在文档流中的位置。
避免重绘的方法:避免多层内联样式、使用外部样式、避免频繁操作样式

回流:元素的尺寸、布局、位置发生变化,浏览器重新计算元素的位置、布局,重新绘制受影响的部分或者全部页
面。
避免回流的方法:避免频繁操作dom、避免使用table布局、避免使用css的js表达式、使用requestAnimationFrame

多层内联样式:嵌套元素分别应用内联样式

<div style="background-color: yellow;">  
  <p style="color: blue; font-size: 20px;">这是一个在黄色背景上的蓝色段落,字体大小为20px。</p>  
</div>

table布局可能引起频繁的回流,是因为:

table布局中的元素会根据其内容大小自动调整尺寸,即使两个结构相同的table布局,如果内容不同,其大小可能也
不同。当table元素的大小发生变化时,浏览器要重新计算table的整个布局,这就会引发回流。此外,table布局中元
素的位置也是相对确定的,任何一个元素位置的变化,都可能引起其他元素位置的变化,从而导致回流的频率增加。

requestAnimationFrame

h5提供的动画API,优化浏览器中并行的动画动作,把能合并的动作放在一个渲染周期中执行
  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值