前端图片优化方案

在知乎上看见的一个回答(图片较多的网站,如淘宝京东、美丽说花瓣、QQ空间、百度图片等都采用哪些技术优化图片展示?),自己做一些测试以及添加一些自己的理解整理成章。

1.使用base64编码代替图片

Base64目前主要用于HTML5、移动开发等不考虑IE6的场景中。图片大小不宜超过2KB,不然编码出来的会很长。

使用方法:

<img src="base64编码后的字符串">

或者CSS中

background-image: url(ase64编码后的字符串);

2.使用css sprite合并图片

在线css sprite:http://css.spritegen.com/

图片不宜太大

3.图片延迟加载

在我的项目中,使用的是angular框架,用的第三方插件me-lazy-load.js对界面多图进行懒加载。

使用方法:

<img lazy-src="img/login.jpg" animate-visible="true" animate-speed="0.5s" alt="用户登录">

 

4.使用css、svg、canvas或iconfont代替图片

CSS可以使用为元素before、after实现简单的绘图

如图:

ul.create-nav>li span:after, ul.create-nav>li span:before {
    content: " ";
    height: 0;
    width: 0;
    border-style: solid;
    border-width: 20px 5px 20px 25px;
    border-color: transparent;
    pointer-events: none;
}
ul.create-nav>li span:before {
    position: absolute;
    left: 0;
    border-left-color: #F3F3F4;
}
ul.create-nav>li span:after {
    position: absolute;
    right: -20px;
    z-index: 1;
    border-left-color: #D7D7D7;
}

 

5.加载对应尺寸

 这是针对不同终端,加载符合屏幕大小的不同尺寸的图片,主要针对移动端。

6. 预加载

 待续...

7.更好的图片格式

待续...

posted @ 2016-08-16 15:13  echo2016  阅读(716)  评论(0编辑  收藏  举报