生成字体图标及其原理
2016-06-04 16:57
986 查看
详解使用icomoon生成字体图标的方法并应用
IcoMoon是一个在线的图标字体生成器。其允许我们通过个性化设置生成ICON字体,我们可以上传本地ICON资源也可以使用IcoMoon给我们提供的丰富素材,最终生成的ICON字体有多种格式供我们选择(EOT,SVG,WOFF,TTF)。总而言之,有了这个免费资源,我们就可以个性化的生成ICON字体,然后应用到我们的WEB页面中了。
最近项目大量用到字体图标,大家也知道,字体图标任意缩放不会失真,也大大减少请求数量,非常好用。以下将讲解本人如何根据美工提供的.svg文件生成字体图标并应用。
借助一个在线生成工具:https://icomoon.io/app/#/select
1、进入网址:主页面
![](http://img.blog.csdn.net/20160217153738915?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
2、新建一个图集
![](http://img.blog.csdn.net/20160217153903732?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
3、添加.svg图片(可以使用现成的,也可以使用自定义的)
使用现成的点击页面红色的Add
Icons...
使用自定义的直接拖拽进图集即可添加
![](http://img.blog.csdn.net/20160217153917056?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](http://img.blog.csdn.net/20160217154008577?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
4、生成字体文件
(1)选择好要生成的图标(自由选择)
(2)点击底部的:"Generate Font F"
![](http://img.blog.csdn.net/20160217154206557?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
可以自由命名
![](http://img.blog.csdn.net/20160217154317886?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
5、修改完成后,点击生成Font
![](http://img.blog.csdn.net/20160217154342120?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
下载到压缩文件:
![](http://img.blog.csdn.net/20160217154349808?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](http://img.blog.csdn.net/20160217154456855?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
运用:将fonts文件夹全部内容和style.css文件放到相应的项目中。
![](http://img.blog.csdn.net/20160217154731559?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
根据css文件下面生成的class类的名称添加到html对应的节点上即可添加字体。
当然添加字体还需要设置font-size,也可以根据实际情况设置color改变其颜色。
![](http://img.blog.csdn.net/20160217154741165?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
字体码生成原理:
计算机里面每个字符都有一个unicode编码,比如「我」的unicode是\u6211(16进制),而字体文件的作用是规定某个字符应该用什么形状来显示。
unicode字符集里面,E000 至 F8FF属于用户造字区。原本是空的,用户可以在字体文件里面随便定义这些字符的形状。我们所见的webfont icon,一般就选在这一部分
将svg文件用文本编辑工具打开,可以看到icomoon 为该svg设定的字体码
![](http://img.blog.csdn.net/20171213160310764?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMjYyMjI4NTk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
在css文件中引用该字体码,从而表示引用该svg图标
@font-face {
font-family: 'icomoon';
src: url('fonts/icomoon.eot?at3ibb');
src: url('fonts/icomoon.eot?at3ibb#iefix') format('embedded-opentype'),
url('fonts/icomoon.ttf?at3ibb') format('truetype'),
url('fonts/icomoon.woff?at3ibb') format('woff'),
url('fonts/icomoon.svg?at3ibb#icomoon') format('svg');
font-weight: normal;
font-style: normal;
}
[class^="icon-"], [class*=" icon-"] {
/* use !important to prevent issues with browser extensions that change fonts */
font-family: 'icomoon' !important;
speak: none;
font-style: normal;
font-weight: normal;
font-variant: normal;
text-transform: none;
line-height: 1;
/* Better Font Rendering =========== */
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.icon-pencil:before {
content: "\e905";
}
字体图标的好处是:
你可以把一个icon看作是一个普通的文字,这意味着你直接用css控制文字属性,如color、font-size,就可以改变图标的颜色和大小。而区分不同的图标,我们主要是采用 Unicode 字符
IcoMoon是一个在线的图标字体生成器。其允许我们通过个性化设置生成ICON字体,我们可以上传本地ICON资源也可以使用IcoMoon给我们提供的丰富素材,最终生成的ICON字体有多种格式供我们选择(EOT,SVG,WOFF,TTF)。总而言之,有了这个免费资源,我们就可以个性化的生成ICON字体,然后应用到我们的WEB页面中了。
最近项目大量用到字体图标,大家也知道,字体图标任意缩放不会失真,也大大减少请求数量,非常好用。以下将讲解本人如何根据美工提供的.svg文件生成字体图标并应用。
借助一个在线生成工具:https://icomoon.io/app/#/select
1、进入网址:主页面
2、新建一个图集
3、添加.svg图片(可以使用现成的,也可以使用自定义的)
使用现成的点击页面红色的Add
Icons...
使用自定义的直接拖拽进图集即可添加
4、生成字体文件
(1)选择好要生成的图标(自由选择)
(2)点击底部的:"Generate Font F"
可以自由命名
5、修改完成后,点击生成Font
下载到压缩文件:
运用:将fonts文件夹全部内容和style.css文件放到相应的项目中。
根据css文件下面生成的class类的名称添加到html对应的节点上即可添加字体。
当然添加字体还需要设置font-size,也可以根据实际情况设置color改变其颜色。
字体码生成原理:
计算机里面每个字符都有一个unicode编码,比如「我」的unicode是\u6211(16进制),而字体文件的作用是规定某个字符应该用什么形状来显示。
unicode字符集里面,E000 至 F8FF属于用户造字区。原本是空的,用户可以在字体文件里面随便定义这些字符的形状。我们所见的webfont icon,一般就选在这一部分
将svg文件用文本编辑工具打开,可以看到icomoon 为该svg设定的字体码
在css文件中引用该字体码,从而表示引用该svg图标
@font-face {
font-family: 'icomoon';
src: url('fonts/icomoon.eot?at3ibb');
src: url('fonts/icomoon.eot?at3ibb#iefix') format('embedded-opentype'),
url('fonts/icomoon.ttf?at3ibb') format('truetype'),
url('fonts/icomoon.woff?at3ibb') format('woff'),
url('fonts/icomoon.svg?at3ibb#icomoon') format('svg');
font-weight: normal;
font-style: normal;
}
[class^="icon-"], [class*=" icon-"] {
/* use !important to prevent issues with browser extensions that change fonts */
font-family: 'icomoon' !important;
speak: none;
font-style: normal;
font-weight: normal;
font-variant: normal;
text-transform: none;
line-height: 1;
/* Better Font Rendering =========== */
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.icon-pencil:before {
content: "\e905";
}
字体图标的好处是:
你可以把一个icon看作是一个普通的文字,这意味着你直接用css控制文字属性,如color、font-size,就可以改变图标的颜色和大小。而区分不同的图标,我们主要是采用 Unicode 字符
相关文章推荐
- Android-menu
- Android Http缓存数据处理
- tomcat热部署的实现原理
- xargs命令详解
- 【Linux】Linux系统下进度条的模拟实现
- Wpf Hyperlink超链接控件使用
- PHP 获取 特定时间范围 类
- 判断手机版本
- 对listview adapter的getview方法的新认识viewholder
- Tomcat的 Document base ……does not exist or is not a readable directory错误
- (2.3.13)Comparable接口的实现和使用[ Collections.sort]
- Divide two numbers,两数相除求商,不能用乘法,除法,取模运算
- grep命令详解
- Android App的设计架构:MVC,MVP,MVVM与架构经验谈
- C++读取特定路径下文件目录及文件名称
- 第7次作业
- 实例讲解Ruby中的钩子方法及对方法调用添加钩子
- response
- 总是弹出visual studio 实时调试器 三种解决办法
- [ZZ]C++中,引用和指针的区别