其他分享
首页 > 其他分享> > 前端优化总结

前端优化总结

作者:互联网

了解重排(回流)和重绘

浏览器根据HTML文档构建DOM树的同时,用CSS解析器解析CSS文档构建CSSOM树,然后DOM树和CSSOM树共同构成渲染树Render Tree。

  1. 重绘:当页面中元素样式的改变并不影响它在文档流中的位置时(例如:color、background-color、visibility 等),浏览器会将新样式赋予给元素并重新绘制它,这个过程称为重绘
  2. 重排:当 Render Tree 中部分或全部元素的尺寸、结构、或某些属性发生改变时,浏览器重新渲染部分或全部文档的过程称为回流。
    引起重排的条件:
    (1)首次渲染
    (2)浏览器尺寸变化
    (3)元素尺寸或位置变化
    (4)元素内文字、图片的大小、数量等发生变化
    (5)激活CSS伪类
    (6)js设置style属性
    (7)新增和删除可见元素
    (8)调用某些特定的属性和方法如:clientWidth、clientHeight、clientTop、scrollHeight、scrollTop、getComputedStyle()、
    getBoundingClientRect()、scrollTo()等
    回流必将引起重绘,而重绘不一定会引起回流
    浏览器渲染页面的过程

减少回流和重绘的几种方式

1. 优化CSS

  • 避免使用 table 布局。
  • position 属性为 absolute 或 fixed 的元素不会导致回流
  • 避免使用 CSS 表达式(例如:calc())

2. 优化JavaScript

特定场景的优化

React应用的优化

参考文章:前端性能优化小结(面试干货)前端性能优化的七大手段前端性能优化汇总

标签:总结,缓存,前端,元素,属性,优化,重绘,CSS,加载
来源: https://blog.csdn.net/Wind_waving/article/details/123093406