html修改页面图片大小,关于html页面的重排和重绘,确定图片大小

本文探讨了网页加载过程中重排和重绘的影响,指出图片大小预设的重要性。页面的重排(布局改变)和重绘(外观变化)会导致性能下降。关键操作如DOM元素增删、位置尺寸变化、内容更新等都会触发这两过程。为提升性能,建议一次性设置样式、先构建后插入DOM、隐藏操作元素、避免频繁访问特定属性,并减少动态效果。
摘要由CSDN通过智能技术生成

在编写页面样式时,我们需要对每个图片都事先确定大小,这是因为如果没有控制大小,在图片加载成功后,会改变页面的布局,会引起页面的重排和重绘。而从降低页面执行效率。

这样我想起了关于页面重排和重绘的相关问题。

一个页面载入成功以后形成两个内部数据结构,一个是dom树(记录页面中的dom节点结构),一个是渲染树(控制节点如何渲染)。而所有引起页面几何属性(宽高)改变的的操作都会引起页面的重新计算,这讲改变dom树(重排),而后将重绘页面,而重排和重绘,而比如页面颜色的改变等外观上的变化,也将单独引起页面的重绘。这些都将极大的降低页面性能。

那些操作会引起页面的重排和重绘

1、添加或删除可见的DOM 元素 (重排+重绘)

2、元素位置改变 (重排+重绘)

3、元素尺寸改变 (重排+重绘)

4、内容改变,(重排+重绘)

5、浏览器窗口改变尺寸 (重排+重绘)

6、字体大小改变 (重排+重绘)

7、字体的颜色,body的颜色改变 (重绘)

8、同时当获取以下属性时,因为会造成浏览器强行刷新页面重排队列,而导致页面重排和重绘,这些属性和方法有

offsetTop, offsetLeft, offsetWidth, offsetHeight

scrollTop, scrollLeft, scrollWidth, scrollHeight

clientTop, clientLeft, clientWidth, clientHeight

getComputedStyle() (currentStyle in IE)(在IE

中此函数称为currentStyle)

所以用到此类数据时,尽量用变量缓存处理

如何减少浏览器的重排和重绘

1、将需要多次改变的元素的样式属性的,通过一次改变完成

2、将新建的dom节点操作完毕后在插入到body中

3、将页面中需要操作的节点先隐藏:display:none,(甚至是先将body隐藏),操作完毕后在显示。

4、不要经常访问会引起浏览器flush队列的属性,需要的时候先缓存处理。

5、尽量减少持续改变和动态变化的效果。比如jquery的animate,当然如果从用户体验的角度必要的还是不能少。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值