web前端优化(2)

图片相关优化

1.图片相关优化的核心概念

图片压缩指的是针对图片的情况,舍弃一些相对无关紧要的色彩信息,舍去测部分人眼基本是察觉不出来的。

  • 有损压缩在压缩过程中会丢失部分图片资源,但是这部分资源对人眼来说是没有区别,所以不是很重要。
  • png8/png24/png32的区别
    • png8 256色+支持透明(8bit就可以表示一个颜色)
    • png24 2^24色+不支持透明(24bit才可以显示一个像素中的颜色)
    • png32 2^24色+支持透明(在24位的基础上增加8位支持透明)
    • 根据需要选择文件类型,颜色越丰富,所需的空间就越多
  • 不同格式图片常用的业务场景
    • jpg有损压缩,压缩率高,不支持透明
    • png支持透明,浏览器兼容性好(如果png8能支持的话,那么文件大小会相对更小)
    • webp压缩程度更好,在ios webview有兼容性问题(2010年谷歌提出来的文件格式)
    • svg矢量图,代码内嵌,相对较小,图片样式相对简单的场景(svg标签在代码中进行图片的绘制,质量相对较高,iconfont这样的库就可以很好的使用svg图)
    • jpg多应用于大部分不需要透明图片的业务场景
    • png多应用于大部分需要透明图片的业务场景
    • webp多应用于安卓部分
    • svg多应用于图片样式相对简单的业务场景
  • css雪碧图
    • 将网站要用的图片都放在一张图片上
    • 可以减少网站对于图片的http请求,减少网站的请求数量
    • 当雪碧图比较大时,加载会比较慢
    • 一旦雪碧图加载失败,那么网站上所有的图标都会消失
  • svg矢量图的使用
    • svg是html5中一个比较重要的标准
    • 可以使用几行代码就实现相对复杂的图标,减少页面的体积,增加网页的请求速度
  • image inline 将图片的内容内嵌到html中以减少网站的http请求数量
  • image inline会将html文件变大,但是图片不大的话,基本可以忽略,但是可以减少一次http请求,所有小鱼8kb或者4kb的文件,一般是选用image inline将图片内联进来,这样减少网络请求的时间会大大小鱼html文件大小的增加的请求时间
  • https://tinypng.com(图片压缩网站)

2.facebook和淘宝移动首页案例分析

  • 淘宝移动端首页分析

    • 淘宝首页会自动判断是否当前浏览器是否支持webp格式图片,若是,则使用webp格式的文件,若是ios类型的浏览器,不支持webp格式的话,则自动换成jpg格式的文件
    • 部分小图标使用了image inline的方式直接将图片内嵌到网页中,减少http的请求数量。
  • facebook的实例分析

    • facebook的网站上使用的css图标是雪碧图,但是对雪碧图也做了一定的处理,将部分具有相同特性的图标放在一张雪碧图上,这样将雪碧图拆分开,增加了请求数量,但是避免了图片过大对网络的压力
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章