html网页优化(网页优化技巧)

admin 28 2022-11-27

本文目录一览:

HTML页面渲染及优化详解

页面渲染主要经过过程,具体介绍如下:

字节 → 字符 → 令牌 → 节点 → 对象模型

CSS树的生成和DOM树的生成基本是相同,如下

为什么会有CSS树

因为CSS关系也会有父子关系,就是css中常说的继承,一些样式如font-size等子元素会继承父级,所以会生成一套对应的CSS树和DOM树相对应。

通过上面的页面渲染介绍,很容易理解,重排就是重新布局页面结构,计算节点位置,而重绘就是绘制页面,只是一些样式如背景,颜色的变化等,不需要重新计算位置布局,所以 重排一定会导致重绘,但是重绘不一定导致重排。

导致页面重排主要有以下几点

上文中触发了四次重排,通过上文介绍,offsetTop,scrollTop,clientTop等属性的修改会触发重排,当浏览器获取DOM样式的时候立刻会执行一次重排,因为需要计算浏览器位置坐标,不会再继续观察下文是否还有DOM的操作,下文介绍浏览器渲染机制。

这种情况看似会触发四次重排,实际只会触发一次重排,现代浏览器基本都有渲染机制,浏览器会批量将样式修改一次性执行,批量修改完后再批量获取DOM位置,实际只触发一次。

等价于

通过上文,容易理解这种情况会触发两次重排,可以使用缓存(实际是分离读写)来优化。

这种情况会触发五次重排

避免设置大量的style属性,因为通过设置style属性改变结点样式的话,每一次设置都会触发一次reflow,所以最好是使用class属性实现元素的动画,设置position属性,最好是设为absoulte或fixed,脱离文档流,这样不会影响其他元素的布局。

事件委托原理:利用事件冒泡的特性,子元素都会冒泡到父元素上,当子元素如(li)元素都绑定事件时,可以只需绑定父元素(ul)来达到相同的效果,这样不仅减少了对dom的操作,减少重排或重绘,而且不用分配大量变量来保存dom,减少了内存。

委托

不要使用table布局,因为table中某个元素一旦触发了reflow,那么整个table的元素都会触发reflow。那么在不得已使用table的场合,可以设置table-layout:auto;或者是table-layout:fixed这样可以让table一行一行的渲染,这种做法也是为了限制reflow的影响范围。

不要一个个修改属性,应通过一个class来修改

改为

参考文献

网站html代码优化技巧有哪些

1-图片标签代码优化:alt、title、图片大小的属性;

2-H标签代码:一个页面中只添加一个H1标签代码;

3-减少页面结构中冗长的代码;

4-tag标签代码优化;

5-CSS与JS:合并相应的代码文件,减少层级。

html页面loading优化

    地图展示页面,需要有geo数据(高达30M+ features)

    组内小伙子一开始把geo数据写在html页面,页面数据量大,导致页面加载时长较长(Loading阶段),呈现较长的空白页面

蓝色(Loading):网络通信和HTML解析

黄色(Scripting):JavaScript执行

紫色(Rendering):样式计算和布局,即重排

绿色(Painting):重绘

灰色(System):其它事件花费的时间

白色(Idle):空闲时间

在script内,以异步方式,读取geo_data,减少了页面数据量,缩短Loading,整体效率提示50%

优化后:

loading缩短到19ms,其次,以异步方式加载geo_data数据,可加快完成静态资源初次渲染

关于html网页优化和网页优化技巧的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

上一篇:免费免费虚拟主机(免费 虚拟机)
下一篇:wap网站建站(WAP建站)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~