博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
前端图片优化方案
阅读量:6155 次
发布时间:2019-06-21

本文共 1034 字,大约阅读时间需要 3 分钟。

在知乎上看见的一个回答(),自己做一些测试以及添加一些自己的理解整理成章。

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.更好的图片格式

待续...

转载于:https://www.cnblogs.com/echo2016/p/5776511.html

你可能感兴趣的文章
C++ 11 lambda
查看>>
Android JSON数据解析
查看>>
DEV实现日期时间效果
查看>>
java注解【转】
查看>>
centos 下安装g++
查看>>
嵌入式,代码调试----GDB扫盲
查看>>
下一步工作分配
查看>>
Response. AppendHeader使用大全及文件下载.net函数使用注意点(转载)
查看>>
Wait Functions
查看>>
jQuery最佳实践
查看>>
centos64i386下apache 403没有权限访问。
查看>>
jquery用法大全
查看>>
PC-BSD 9.2 发布,基于 FreeBSD 9.2
查看>>
css斜线
查看>>
Windows phone 8 学习笔记(3) 通信
查看>>
Revit API找到风管穿过的墙(当前文档和链接文档)
查看>>
Scroll Depth – 衡量页面滚动的 Google 分析插件
查看>>
Windows 8.1 应用再出发 - 视图状态的更新
查看>>
自己制作交叉编译工具链
查看>>
Qt Style Sheet实践(四):行文本编辑框QLineEdit及自动补全
查看>>