前端性能优化之图片

图片优化既是一门艺术,也是一门科学,图片优化是一门艺术,是因为单个图片的压缩不存在最好的特定性方案,而图片优化之所以是一门科学,是因为许多开发得很出色的方法和算法可以明显减小图片的大小。要找到图片的最优设置,需要按照许多维度进行认真分析:格式能力、编码数据内容、像素尺寸等。

优化方法总结:

1.能不用图片解决的就不用

备选技术

  • CSS效果、CSS动画。提供与分辨率无关的效果,在任何分辨率和缩放级别都可以显示得非常清晰,占用的空间也很小。
  • 网络字体。现在连很多图标库都是用字体方式提供,保持文字的可搜索性同时扩展显示的样式。
  • SVG

2.生成图片的时候可以做很多压缩

一般ui在作图的时候,需要导出web所用格式,然后质量可以根据需求具体来压缩。jpg的图片压缩到60%还是非常清晰的。

3.图片格式的选择

有一种加载先模糊后清晰,另一种是很清晰,但是逐行加载显示。(原因是图片本身压缩算法不同,在图片被生成的时候已经决定了图片在浏览器当中是如何表现的)
模糊到清晰(小波算法),逐行加载显示(离散余弦变换,使用实数)浏览器根据不同图片选择不同算法。更改文件后缀名不会影响加载方式,压缩算法读取是在文件头部。从用户体验来说,小波格式图片效果更友好。

z注:ps生成小波算法图片的方法:

PNG图片使用PS导出时,勾选交错, jpg导出时,勾选连续.导出的图片就是从模糊到清晰的效果了,通常称为交错式PNG和渐进式JPG。

4.使用工程化的图片优化方案

如webpack的image-webpack-loadr。还有很多插件,都可以实现图片的压缩。小图片转换成base64图片等。还有七牛CDN;

使用在线工具压缩:https://zhitu.isux.us/

 

5.响应式图片解决方案 srcset


 

6.减少图片请求的方法

雪碧图,很多在线工具:http://alloyteam.github.io/gopng/

注意点:控制雪碧图的大小,太大容易出现很多按钮同时不出现问题,特别是移动端。

base64:会增加css文件的大小,也是一个权衡,一般是小图片自动转换成base64.

inconfont:小图标可以用字体代替。

 

参考:

https://www.runoob.com/w3cnote/web-image-optimization.html

 

 

 


 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值