我的网站开发技术经验总结 我的网站开发技术经验总结
首页

fangdown

我的网站开发技术经验总结
首页
  • 大前端

  • 基础

    • js

    • css

      • 如何让chrome实现小于12px的字体大小
      • 如何使用css画出三角形,正方形
      • 如何使用CSS完成视差滚动效果
      • 说说单行和多行文本溢出的实现方式
      • 说说对Css预编语言的理解
      • 说说你对CSS盒子模型的理解
      • 说说设备像素、css像素、设备独立像素、dpr、ppi 之间的区别
      • 说说什么是响应式设计及实现方式
      • 说说什么是重绘和回流,如何优化
        • 是什么
        • 触发时机
          • 回流
          • 重绘
        • 优化
          • 浏览器自身优化
          • 主动优化
          • js表达式优化
      • 说说元素水平垂直居中的方法有哪些
      • 说说CSS3新增了哪些新特性
      • 说说css性能优化有哪些方式
      • 说说css中层叠上下文z-index的理解
      • 说说css中的选择器是优先级
      • 说说css中两栏布局和三栏布局有哪些
      • 说说css中哪些属性是继承和不继承的
      • 说说css中实现动画有哪些
      • 说说CSS中有哪些方式可以隐藏页面元素
      • 说说em-px-rem-vh-vw的区别
      • 说说flex盒子的理解及应用
      • 说说property和prototype的区别
      • 谈谈你对BFC的理解
    • ES6

  • 框架

  • 情商

  • 算法

  • 网络

  • 千锤百炼
  • 基础
  • css
fangdown
2021-08-23
目录

说说什么是重绘和回流,如何优化

# 是什么

  • 回流:浏览器根据样式重新计算元素的大小和位置
  • 重绘:浏览器根据样式,绘制不包含位置及大小的特性如背景、颜色、阴影

# 触发时机

# 回流

  • 首次渲染
  • 添加删除可见的DOM元素
  • 元素的位置发生变化
  • 元素的几何属性发生变化(大小、边框等)
  • 内容变化
  • 浏览器尺寸变化
  • js获取值
    • offset系列
    • client系列
    • scroll系列
    • window.getComputedStyle(ele)
document.documentElement.clientHeight

# 重绘

  • 颜色变化
  • 文本方向的变化
  • 阴影的修改

# 优化

# 浏览器自身优化

浏览器将修改操作放入队列中, 直到过了一段时间或者到了阈值,才执行队列并清空

获取即时信息时会强制更新队列

# 主动优化

  • 避免使用table
  • 避免使用js表达式
  • 样式使用class,避免多项内联样式
  • 动画层使用postion:absolute/fixed
  • 使用css3硬件加速,如transform, opacity, z-index

# js表达式优化

  • 缓存,一次性应用
// 缓存offsetLeft与offsetTop的值
const el = document.getElementById('el') 
let offLeft = el.offsetLeft, offTop = el.offsetTop

// 在JS层面进行计算
for(let i=0;i<10;i++) {
  offLeft += 10
  offTop  += 10
}

// 一次性将计算结果应用到DOM上
el.style.left = offLeft + "px"
el.style.top = offTop  + "px"
  • 样式合并
<style>
    .basic_style {
        width: 100px;
        height: 200px;
        border: 10px solid red;
        color: red;
    }
</style>
<script>
    const container = document.getElementById('container')
    container.classList.add('basic_style')
</script>
#CSS
上次更新: 2021/12/19, 18:05:42
说说什么是响应式设计及实现方式
说说元素水平垂直居中的方法有哪些

← 说说什么是响应式设计及实现方式 说说元素水平垂直居中的方法有哪些→

最近更新
01
多分支修复撞车的问题
05-01
02
如何成为架构师
01-23
03
服务器部署全过程
11-23
更多文章>
Theme by Vdoing | Copyright © 2019-2026 fangdown | 粤ICP备19079809号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式