客户端渲染页面、DOM重绘和回流、避免DOM的回流

在这里插入图片描述

一小池勺
❤️❤️❤️ ❤️❤️❤️❤️
胸有惊雷而面如平湖者,可拜上将军也。

客户端渲染页面

  • 浏览器渲染页面的步骤

    • 解析HTML,生成DOM树,解析CSS,生成CSSOM树
    • 将DOM树和CSSOM树结合,生成渲染树(Render Tree)
    • Layout(回流):根据生成的染树,计算它们在设备视口(viewport)内的确切位置和大小,这个阶段是回流
    • Painting(重绘): 根据潼染树以及回流得到的几何信息,得到节点的绝对像素
    • Display:将像素发送给GPU,展示在页面上
  • DOM重绘和回流

    • 重绘:元素样式的改变(但宽高、大小、位置等不变)
    • 回流:元素的大小或者位置发生了变化(当页面布局和几何信息发生变化的时候),触发了重新布局,导致渲染树重新计算布局和渲染

**注意:**回流一定会触发重绘,而重绘不一定会回流

  • 前端性能优化之 : 避免DOM的回流

    • 放弃传统操作dom的时代,基于vue/react开始数据影响视图模式
    • 分离读写操作(现代的浏览器都有渲染队列的机制)
    • 样式集中改变
    • 缓存布局信息
    • 元素批量修改
    • 动画效果应用到position厘性为absolute或fixed的元素上(脱离文档流)
    • CSS3硬件加速(GPU加速)
    • 牺牲平滑度换取速度
    • 避免table布局和使用css的javascript表达式

谢谢款待

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一小池勺

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值