前端性能提高技术之----HTML重绘篇

本文探讨了如何通过减少HTML页面重绘次数来提高网页性能,包括深入DOM层级修改样式、合并样式更改及预设图片尺寸等技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<img src="home.png" style="width:200px; height: 200px;">

        在HTML页面完成渲染后

,任何改动页面样式或结构的操作都会引起浏览器重绘,性能的损耗直接取决于动态改变的范围:如果只是改变一个元素的颜色之类的信息则只会重绘该元素;而如果是增删节点或调整节点位置则会引起其兄弟节点也一并重绘,所以在页面操作中要尽量减少页面重绘的次数,

 

 

基本原则如下:

  1. 改动的DOM元素越深则影响越小,尽量深入到节点深处。
  2. 对某些DOM样式有多重变动尽量合并到一起修改。
  3. 显示的设置图片的宽度和高度。

如下面这种情形:

<a href="javascript:void(0);" id="example">传统的代码</a> 
<script> 
 var example = document.getElementById("example"); 
 example.ondblclick = function() { 
 example.style.backgroundColor = "red"; 
 example.style.width = "200px"; 
 example.style.color = "white"; 
 } 
</script> 

 对页面元素进行三次样式修改操作,会引发三次页面重绘,而采用下面的方式则只会引发一次重绘即可完成:

 

 

 

<style> 
 .dblClick { 
 width: 200px; 
 background: red; 
 color: white; 
 } 
</style> 
<a href="javascript:;" id="example">CSS优化的代码</a> 
<script> 
 var example = document.getElementById("example"); 
 example.ondblclick = function() { 
 example.className = "dblClick"; 
 } 
</script>

 

HTML里的图片没有指定尺寸(宽和高),或者代码描述的尺寸与实际图片的尺寸不符时,浏览器则要在图片下载完成后再“回溯”该图片并重新显示,这会消耗额外时间,因此显示的指定图片的宽度和高度可以减少页面“回溯”消耗。

<img src="home.png" style="  width: 200px; height: 200px;">

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值