如何使用IconFont字体图标代替网页图片?
一、IconFont的优点
1.轻量性
可以减少http请求,可以配合html5离线存储做性能优化,有利于后期维护。
2.灵活性
可以自由变换IconFont大小(不失真),可以修改IconFont颜色,可以添加阴影,旋转,透明度等视觉效果。
3.兼容性
图标字体IconFont支持所有现代浏览器,包括IE低版本。
二、IconFont的缺点
1.图标字体只能被渲染成单色或者css3的渐变色;
2.设计自已的IconFont需要花费大量时间,也会增加前端重构的成本;
3.Firefox和IE9不支持对IconFont图标字体的跨域访问。
三、如何制作IconFont?
1.制作IconFont矢量文件的要求
按照图标制作说明,设计师制作一个一个的AI矢量图,存储为SVG格式,这里提醒,不要把所有图标做在一张矢量文件上。
![]()
2.如何上传SVG?
如果你有阿里内部账号,或者新浪微博账号,登录进去,即可在http: //iconfont.cn/网站上传SVG。可以单个上传,也可以批量上传。填写每个图标的名称和Tag,点击确认,接着继续上传图标,或者完成上传。这里需要强调的是,在上传SVG前,最好能给每个SVG取唯一的英文名,该英文名字表示SVG图标的含义。这样做的好处是,在上传图标时,不用再修改图标名称和Tag了,直接默认为SVG的英文名。
3.如何申请个人图标库?
![]()
凑够50个上传的图标,你就可以申请个人图标库啦。主要包括给图标库取名,tag用”, ”分隔,介绍图标库等步骤。
在【上传图标】界面,可以对每个图标进行编辑,删除,下载。
![]()
在编辑弹出框中,可以修改图标名称,Tag,图标fontClass(前端要用)
在下载弹出框中,可以下载该图标对应的SVG,AI,PNG等格式文件。
如果你是纯前端工程师,不会使用AI画矢量图,合作的设计师之前也没做过IconFont矢量图,你依然可以拥有自己的个人图标库。
首先,在【官方公开库】或【所有公开库】中,随意打开一个图标库,你可以对该库中的每个图标进行加入购物车,收藏,下载等操作。
![]()
如果你收藏了某个图标,在【收藏图标】界面,你会发现你收藏的图标有购物车满了,删除,下载等操作。
![]()
不管是在【公开库】界面,还是【收藏图标】界面,你都可以下载喜欢的图标对应的SVG格式,然后重命名,再上传。
四、项目图标管理和下载多格式文件
点击图标,你会看到图标飞入暂存架。暂存架里面有‘存储为项目’,‘下载至本地‘,前者可为【项目图标管理】做准备,后者用于【下载多格式文件】,为前端写页面做准备。
1.关于项目图标管理
如果你在暂存架中,点击“存储为新项目“,输入项目名,即可在项目管理面板看到你的图标项目。如果选择把文件存放在你的服务器上,可以不用项目图标管理功能;如果选择把文件托管在http://iconfont.cn/平台,可以获取在线链接,就是iconfont.css 引用iconfont.eot,iconfont.svg,iconfont.ttf,iconfont.woff四个字体文件相关链接。两者的区别在于链接地址,前者是文件所在文件夹的相对路径或者文件所在服务器的绝对路径,后者是文件所在IconFont托管平台的绝对路径。
2.关于下载多格式文件
如果你在暂存架中,点击“下载至本地“,你可以得到一个压缩包。解压后的文件夹一般包括demo.html,demo.css,iconfont.css,iconfont.eot,iconfont.svg,iconfont.ttf,iconfont.woff等7个文件。iconfont.css里面除了会引用iconfont.eot,iconfont.svg,iconfont.ttf,iconfont.woff四个字体相关文件,还包含你之前选择的每个图标的样式编码。如果希望把字体文件单独放在一个文件夹,需要在iconfont.css里面修改文件引用路径。前端做页面,如果要对图标进行大小限制和颜色调整,需要在demo.css中另外写样式,接着应用在demo.html页面中。
五、如何引用IconFont?
写页面时,前端有两种引用方式:
![]()
1.标签内写编码; <i class="iconfont"></i> 2. 标签类名内加该图标类。 <i class="icon iconfont"> </i>
六、使用问题总结
1.字体图标在Safair或Chrome浏览器下被加粗
以上现象是由于字体图标存在半个像素的锯齿,在浏览器渲染的时候直接显示成一个像素,导致在有背景下的图标显示感觉加粗,解决方案是:对图标样式进行抗锯齿处理,.iconfont {-webkit-font-smoothing: antialiased;}
2.字体图标在IE7浏览器中,图标右侧出现小方框
解决方案是:在标签样式中加入display: block;
3.字体图标在pc端的chrome浏览器下出现严重的锯齿
解决方案是:对字体图标的边缘进行模糊。
七、使用iconfont流程图(种入口可以把字体图标加入暂存架)
![]()
这里留一个思考题,大家共同学习。为何下载包里面的svg打开后无图案?不管是用浏览器,还是用我笔记本上的AI软件,打开后,都是空白,无图案。
如何使用IconFont字体图标代替网页图片?的更多相关文章
- iconfont字体图标和各种CSS小图标
前言:这是笔者学习之后自己的理解与整理.如果有错误或者疑问的地方,请大家指正,我会持续更新! iconfont字体图标 我们的需求中,很多时候会看到一些小的图形,或者叫图标,比如天猫网站中: ...
- css 小图标 & iconfont 字体图标
前言:这是笔者学习之后自己的理解与整理.如果有错误或者疑问的地方,请大家指正,我会持续更新! iconfont 字体图标 我们的需求中,很多时候会看到一些小的图形,或者叫图标,比如天猫网站中: ...
- 关于iconfont字体图标的使用
今天用iconfont遇到了字体图标的使用问题.关于使用字体图标的方式在这里有介绍三种方式(css和js的引入和平时一样) 首先你要分清是用单个字体图标icon,还是多个字体图标icon 关于使用代码 ...
- Android iconfont字体图标的使用
1.首先,进入阿里的矢量图标库,在这个图标库里面可以找到很多图片资源,当然了需要登录才能下载或者使用,用GitHub账号或者新浪微博账号登录都可以 2.登录以后,可以搜索自己需要的资源,然后直接下载使 ...
- 小程序入坑(一)---如何引入iconfont 字体图标
最近一直忙于日常任务,其实是懒癌又犯了..........不过因为自己的“懒癌”,“不思进取”给自己挖了不少坑. 一,小程序工具的安装 打开简易小程序的官网https://mp.weixin.qq.c ...
- react中iconfont字体图标不显示问题
如下图, 写四个圆圈,直接将iconfont的字体编码写在静态HTML结构中时显示没问题,然而明显这样的结构用循环写是更好的选择, 但是,页面上不能显示字体图片了,而是直接显示字体编码 原因是字体编码 ...
- iconfont字体图标的使用方法--超简单!
我之前因为项目用bootstrap比较多,所以使用font awesome字体图标比较多,后来接触到了iconfont,发现想要的什么图标都有,还可以自定义图标,非常强大!之前看了一波教程,觉得繁琐, ...
- mpvue——引入iconfont字体图标
前言 有问题可以随时提问,评论私信,只要我有时间我都会第一时间回复.当大家发现这篇文章不适用的时候烦请告知下,我好做好更改! 放置 下载好的字体图标放在static目录下,我是自己又创建了一个icon ...
- iconfont字体图标
1.1.进入阿里图标网站 http://www.iconfont.cn/ 1.2.在购物车里添加自己需要的字体图标 1.3.下载代码 1.4.解压过后,找到iconfont.css,放在你的项目里,需 ...
随机推荐
- 实战动态PDF在线预览及带签名的PDF文件转换
开篇语: 最近工作需要做一个借款合同,公司以前的合同都是通过app端下载,然后通过本地打开pdf文件,而喜欢创新的我,心想着为什么不能在线H5预览,正是这个想法,说干就干,实践过程总是艰难的,折腾了3 ...
- ibatis 轻松入门
1.总中的配置文件 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE sqlMapConfig ...
- 第4月第1天 makefile automake
1. gnu make的函数调用是$,比如 $(subst ee,EE,feet on the street) 规则中“TARGETS”可以是空格分开的多个文件名 a all: echo $(subs ...
- 设计模式--外观模式Facade(结构型)
一.外观模式 外观模式提供了一个统一的接口,用来访问子系统中的一群接口.外观模式定义了一个高层接口,让子系统更容易被使用. 二.UML图 三.例子 举个编译器的例子,假设编译一个程序需要经过四个步骤: ...
- 关于计算机改名无法连接TFS的问题
今天重新导入了两台服务器, 修改了机器名,结果VS2012链接TFS报错 --------------------------- Microsoft Visual Studio ----------- ...
- react开发环境搭建
---恢复内容开始--- 要想用react,需要安装: 1)babel-sublime: 作用:编译es6,支持ES6, React.js, jsx代码高亮,并对所编译的代码进行高亮显示. 安装步骤: ...
- October 31st Week 45th Monday 2016
While there is life there is hope. 一息若存,希望不灭. Go on living even if there is no hope. Knowing is not ...
- javase-->基础知识(三)
1.方法 普通方法:4个必要,1个可选 1):必须有返回值类型,没有返回值用void表示 2):必须有名字 3):必须有()和形参 4):必须有{}方法体 5):可选static,表示静态的方法,可以 ...
- 在c#中的TextBox响应回车键发出“咚”的一声解决方法
在Win7系统的VS2012下的Form中,响应TextBox的KeyDown事件后,当按下回车键时发出"咚"的一声,百度后得到一下这样一个说法: 这是对于 windows 窗口标 ...
- javaScript里的原型链
原型对象也是普通的对象,是对象一个自带隐式的__proto__属性,原型也有可能有自己的原型,如果一个原型对象的原型不为null的话,我们就称之为原型链.原型链是由一些用来继承和共享属性的对象组成的( ...