本文地址:[http://blog.csdn.net/sushengmiyan/article/details/38458411](http://blog.csdn.net/sushengmiyan/article/details/38458411)
本文作者:sushengmiyan
-------------------------------------------------资源链接--------------------------------------------------------
FontAwesome glyph编码:[http://fortawesome.github.io/Font-Awesome/cheatsheet/](http://fortawesome.github.io/Font-Awesome/cheatsheet/)
使用图标美化按钮: [http://blog.csdn.net/jfok/article/details/35994081](http://blog.csdn.net/jfok/article/details/35994081)
use font awesome Icons in Ext js : [http://extjs.eu/using-font-icons-in-ext-fontawesome/](http://extjs.eu/using-font-icons-in-ext-fontawesome/)
--------------------------------------------------------------------------------------------------------------------
### **前期准备:**
-------------
1.了解sencha cmd
2.了解Ext JS 5
即可以完成[ http://blog.csdn.net/sushengmiyan/article/details/38313537](http://blog.csdn.net/sushengmiyan/article/details/38313537) 内容即可顺利进入本节学习。
第二节结束后,我们可以使用sencha cmd构建一个项目,一般来说,网站对于美工要求是比较多的,看起来舒适的网店大家都愿意上。使用sencha cmd 自动构造出来的程序,按钮就是一个普通的按钮,面板也是普通的面板,如果我想对按钮增加一个图标,是不是会更好看呢?本节介绍一种简单的给ext js程序增加fontawesome提供的图标的方法。
### **Font Awesome简介**
--------------------------
Font Awesome是一款很流行的字体图标工具。随着Bootstrap的流行而逐渐被人所认识,现在FontAwesome不仅仅可以在bt上使用,还可以应用在各种web前端开发中。相对于传统的使用背景图片作为图标,字体图标主要是支持自适应、可以使用字体的各种特性(比如变色、变大变小、字体阴影等)、减少数据加载、样式更容易定义等。
官网:[http://fortawesome.github.io/Font-Awesome/](http://fortawesome.github.io/Font-Awesome/)
最新版本:4.1
### **在Ext js中使用 Font Awesome**
----------------------------------------
在Ext中使用Font Awesome 非常简单,首先我们需要下载Font Awesome压缩包
### 1.下载Font Awesome压缩包。
下载地址:[http://fortawesome.github.io/Font-Awesome/assets/font-awesome-4.1.0.zip](http://fontawesome.io/assets/font-awesome-4.2.0.zip)
点击下载,或者进入官网下载最新版本即可。
### 2.解压缩文件到应用程序目录。
下载之后,我们可以看到font-awesome-4.1.0.zip这样的zip压缩包,解压缩,可以看到有如下目录:
![](https://box.kancloud.cn/2016-02-03_56b214e7f21aa.jpg)
我们只需要其中的css目录和fonts目录即可。
解压到应用程序目录,即有.sencha文件夹的这个目录,我解压之后如下:
![](https://box.kancloud.cn/2016-02-03_56b214e812b7a.jpg)
### 3.将css文件引入我们的项目
打开项目中的index.html文件,加入如下代码:
~~~
<link type="text/css" rel=" stylesheet" href="css/font-awesome.css"">
~~~
### 4.给按钮等增加图标
好,准备工作完成,现在就将好看的图标增加进程序,先跟我一起修改app\view\main文件夹下的Main.js文件
![](https://box.kancloud.cn/2016-02-03_56b214e82fa92.jpg)
用editPlus打开,大约是在32行和33行。
我们将button的值改成了保存,然后增加了一个glyph属性,这样的话运行效果如下:
![](https://box.kancloud.cn/2016-02-03_56b214e83e3c3.jpg)
### 5.疑惑解释
对于button和面板等来说,都存在glyph这个属性,我们可以通过这个属性给按钮等加好看的图标。
后面跟着的是一串字符码,这个字符码我们如何获取呢?
glyph码获取: [http://fortawesome.github.io/Font-Awesome/cheatsheet/](http://fortawesome.github.io/Font-Awesome/cheatsheet/)
对于每一个版本都有对于的cheatsheet页面,我们到这里面找我们喜欢的图标,然后比对后面的字码即可。
Every Font Awesome 4.1.0 Icon, CSS Class, & Unicode :[http://fortawesome.github.io/Font-Awesome/cheatsheet/](http://fortawesome.github.io/Font-Awesome/cheatsheet/)
### 另一种简化实现:
如果说,每次都键入'xf0c7@FontAwesome'后缀@FontAwesome比较繁琐,那么你可以在程序加载的时候指定字体格式。
如在Mian.js中的initComponent函数值中增加Ext.setGlyphFontFamily('FontAwesome');那么后期使用的时候就可以不加后缀啦。
但是需要注意的是,这样操作之后,就不可以使字符串形式了,需要是数字形式了。如:
![](https://box.kancloud.cn/2016-02-03_56b214e84a878.jpg)
设置全局字体文件
![](https://box.kancloud.cn/2016-02-03_56b214e85b1b4.jpg)
简化之后的glyph处理
- 前言
- [EXtJS5学习笔记]第一节 Sencha Cmd 学习笔记 简介 Sencha Cmd是什么
- [ExtJS5学习笔记]第二节 Sencha Cmd 学习笔记 使你的sencha cmd跑起来
- [ExtJS5学习笔记]第三节 sencha cmd学习笔记 生成应用程序构建的内部细节
- [ExtJS5学习笔记]第四节 欢迎来到extjs5-手把手教你实现你的第一个应用
- [ExtJS5学习笔记]第五节 使用fontawesome给你的extjs5应用增加字体图标
- [ExtJS5学习笔记]第六节 Extjs的类系统Class System命名规则及定义和调试
- [ExtJS5学习笔记]第七节 Extjs5的组件components及其模板事件方法学习
- [ExtJS5学习笔记]第八节 Extjs5的Ext.toolbar.Toolbar工具条组件及其应用
- [ExtJS5学习笔记]第九节 Extjs5的mvc与mvvm框架结构简介
- [ExtJS5学习笔记]第十节 Extjs5新增特性之ViewModel和DataBinding
- [ExtJS5学习笔记]第十一节 Extjs5MVVM模式下系统登录实例
- [ExtJS5学习笔记]第十二节 Extjs5开发遇到的问题列表记录
- [ExtJS5学习笔记]第十三节 Extjs5的Ext.each方法学习
- [ExtJS5学习笔记]第十四节 Extjs5中data数据源store和datapanel学习
- [ExtJS5学习笔记]第十五节 Extjs5表格显示不友好?panel的frame属性在作怪
- [ExtJS5学习笔记]第十六节 Extjs5使用panel新增的ViewModel属性绑定数据
- [ExtJS5学习笔记]第十七节 Extjs5的panel组件增加accodion成为折叠导航栏
- [ExtJS5学习笔记]第十八节 Extjs5的panel的dockeditems属性配置toolbar
- [ExtJS5学习笔记]第十九节 Extjs5中通过设置form.Panel的FieldSet集合属性控制多个field集合
- [ExtJS5学习笔记]第二十节 Extjs5配合数组的push方法,动态创建并加载组件
- [ExtJS5学习笔记]第二十一节 Extjs5中使用config配置给ext.widget或者create方法传递参数
- [ExtJS5学习笔记]第二十二节 Extjs5中使用beforeLabelTpl配置给标签增加必填选项星号标志
- [ExtJS5学习笔记]第二十三节 Extjs5中表格gridpanel的列格式设置
- [ExtJS5学习笔记]第二十四节 Extjs5中表格gridpanel或者表单数据后台传输remoteFilter设置
- [ExtJS5学习笔记]第二十五节 利用window.open()函数实现ExtJS5的登陆页面跳转
- [EXTJS5学习笔记]第二十六节 在eclipse/myeclipse中使用sencha extjs的插件
- [ExtJS5学习笔记]第二十七节 CMD打包错误 Error C2009: YUI Parse Error (identifier is a reserved word =&gt; debugger;)
- [ExtJS5学习笔记]第二十八节 sencha ext js 5.1.0发布版本正式发布 extjs doc下载地址
- [ExtJS5学习笔记]第二十九节 sencha ext js 5.1.0中动态更换皮肤主题
- [ExtJS5学习笔记]第三十节 sencha extjs 5表格gridpanel分组汇总
- [ExtJS5学习笔记]第三十一节 sencha extjs 5使用cmd生成的工程部署到tomcat服务器
- [ExtJS5学习笔记]第三十二节 sencha extjs 5与struts2的ajax交互配置
- [ExtJS5学习笔记]第三十五节 sencha extjs 5 组件查询方法总结