图层重绘与重排

图层重绘与重排

css图层

浏览器再渲染一个页面时,会将页面分为很多个图层,图层有大有小,每个图层上又一个或多个节点,在渲染DOM的时候,浏览器所做的工作实际上时:
  1. 获取dom分割为多个图层
  2. 对每个图层的节点计算样式的结果(Recalculate style–样式重计算)
  3. 为每个节点生成图形和位置(layout—重排,回流)
  4. 将每个节点绘制填充到图层位图中(paint—重绘)
  5. 图层作为纹理上传到GPU
  6. 组合多个图层到页面上生成最终屏幕图像 (Composite-layers–图层重组)

图层创建的条件

chrome浏览器满足一下任何情况都会创建图层
  1. 拥有3D变换的CSS属性
  2. 使用加速视频解码的节点
  3. 节点
  4. CSS3动画的节点
  5. 用偶遇加速属性的元素(will-change)

重绘(Repaint)

重绘是一个元素外观的改变所触发的浏览器行为,例如outline,背景色等属性,浏览器会根据元素的新属性重新绘制,使元素呈现新的外观,重绘不会带来重新布局,所以不一定伴随重排。

需要注意的是:重绘是以图层为单位,如果图层中某个元素需要重绘,那么整个图层都需要重绘,比如一个图层包含很多节点,其中有个gif图gif图的每一

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值