网站首页有一张很大的背景图,如何提升背景图的加载速度?做用户体验优化可以考虑配合css各种效果去实现,但是实际上加载速度并未获得提升,有什么方法提升背景图片的加载速度吗?希望大佬给个思路!
网站首页有一张很大的背景图,如何提升背景图的加载速度?做用户体验优化可以考虑配合css各种效果去实现,但是实际上加载速度并未获得提升,有什么方法提升背景图片的加载速度吗?希望大佬给个思路!
preload
预加载,可以参考 bing[https://cn.bing.com]<link id="bgLink" rel="preload" href="/th?id=OHR.BlueChip_ZH-CN7376022522_1920x1080.jpg&rf=LaDigue_1920x1080.jpg&pid=hp" as="image">
很大是多大,几M吗?有这么几个方法可以参考下:
1.转成base64——这适用于图片不大的情况,因为base64的字符占据的字节通常比图片还大,所以小图可以考虑采用这种方式
2.分段——把一个大图分成几段小图加载,因为浏览器可以并行加载资源,但可能会额外增加http的一些传输量,所以也要考虑是否适用,以及要分几份的问题。
3.图片格式——考虑下不同图片格式,比如据我所知webp好像是综合表现最好的一个图片格式
前端能做的大概就是这么些吧,当然图片压缩这种是最基本的肯定是要做的。如果你还能动服务器或者在网络层上做些文章也是能优化一些的,但这个我就不太了解了,比如服务器开启http2之类的。
楼上该说的都说了.
补充一点.
当图片为jpg时,可以有两种加载方式,一种逐行加载,就是最常见的,从上而下一点一点加载出来.
还有一种就是由模糊而清晰的方式.
这种方式也有两种实现方式,一种是Interlaced
,一种是Progressive
,从PS导出时,可以选择.
如果用了OSS,一般也会提供参数控制,比如阿里云
首先这不只是前端的问题,很多前面的同学已经回答过了,我补充一下合作的问题,如果这个图片比较重要,觉得很可能是设计师设计的,那么可以设计线条感图形比较多的这样的图片,控制在300K一下。不要弄照片呀,渐变呀这样的大图都是几兆的大小,再怎么优化都是没用的。
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答5.2k 阅读✓ 已解决
1 回答3.4k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
图片太大加载速度受服务器带宽影响,带宽不够的话,放对象存储服务器。