用过EasyUI的朋友都知道,大部分组件都有一个iconCls属性,用于显示一个图标。但是EasyUI自带图标数量少、不美观,于是想到了使用Font Awesome来更换和拓展这些图标。

先看看EasyUI的图标用法,下面定义了一个LinkButton。

<a class="easyui-linkbutton" data-options="iconCls:'icon-add',plain:true">添加</a>

其中 iconCls 为 icon-add,实质是指定了一个名为 icon-add 的CSS类,这些CSS都位于themes目录下的icon.css文件中,都很简单,就是将图标作为背景显示,比如icon-add定义如下,显示了一个“加号”图标:

.icon-add{
background:url('icons/edit_add.png') no-repeat center center;
}

用FireBug之类的浏览器调试工具,查看最终生成的图标部分的DOM如下,包含了两个CSS类,l-btn-icon 和 icon-add,其中icon-add就是上面定义的 iconCls,而l-btn-icon,我把它们称为图标基类,每个组件有各自的图标基类,比如:LinkButton的图标基类是l-btn-icon,Panel的是panel-icon,Menu的是menu-icon,Tabs的是tabs-icon。

<span class="l-btn-icon icon-add"> </span>

Font Awesome是一套图标字体库,官方网址:http://fontawesome.io/,下载后,在页面引入css/font-awesome.min.css即可,最简单的一个示例如下,即可显示一个“加号”图标

<span class="fa fa-plus"></span>

上例中也包含了两个CSS类,fa 和 fa-plus,同样,可以把 fa 看着基类,定义了一些基本样式,特别重要的是把字体定义为FontAwesome,源码如下:

.fa {
display: inline-block;
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}

fa-plus的源码如下,利用before伪类在标签中插入Unicode,而这些Unicode,在应用了 FontAwesome字体后,就会显示为相应的图标。

.fa-plus:before {
content: "\f067";
}

为了在EasyUI中使用FontAwesome字体图标,我们就要参照fa来重写上面提到的EasyUI各组件的图标基类,一般网页都要引用自己的CSS文件,把下面这些代码写在你自己的CSS文件里就可以了,我已经将必要的地方加了!important,所以这个CSS文件和easyui.css的先后顺序就无所谓了。还有些组件没有包含在下面,你可以如法炮制。

.l-btn-icon,.panel-icon,.menu-icon,.tabs-icon {
font-family:FontAwesome;
font-size:14px !important;
line-height:normal !important;
text-rendering:auto;
-webkit-font-smoothing:antialiased;
-moz-osx-font-smoothing:grayscale;
color:#6699cc;
text-align:center;
}
.tabs-icon {
font-size:16px !important;
font-weight:normal;
}

EasyUI的iconCls属性,设置为FontAwesome的相应类即可,比如:

<a class="easyui-linkbutton" data-options="iconCls:'fa-plus',plain:true">添加</a>

最后看几个示例:

<a id="add" class="easyui-linkbutton" data-options="iconCls:'fa-plus',plain:true">添加</a>
<a id="batchDelete" class="easyui-linkbutton" data-options="iconCls:'fa-trash',plain:true">批量删除</a>
<a id="batchEdit" class="easyui-menubutton" data-options="menu:'#batchEditMenu',iconCls:'fa-th',plain:true">批量操作</a>
<a id="superSearch" class="easyui-linkbutton" data-options="iconCls:'fa-search',plain:true">组合查询</a>
<a id="filter" class="easyui-menubutton" data-options="menu:'#filterMenu',iconCls:'fa-filter',plain:true">筛选</a>
<a id="sort" class="easyui-menubutton" data-options="menu:'#sortMenu',iconCls:'fa-sort',plain:true">排序</a>
<a id="refresh" class="easyui-linkbutton" data-options="iconCls:'fa-refresh',plain:true">刷新</a>
<a id="help" class="easyui-linkbutton" data-options="iconCls:'fa-question-circle-o',plain:true">帮助</a>
$('#editDialog').dialog({
//...
iconCls:'fa-pencil',
//...
});

使用Font Awesome替换EasyUI的图标的更多相关文章

  1. 使用Font Awesome替换你的网站图标

    http://fortawesome.github.io/Font-Awesome/whats-new/ 使用Font Awesome替换你的网站图标 ******************IE7BUG ...

  2. 使用webfont为easyui扩充图标

    目前回到pc端开发,开始用了easyui这个框架.重拾easyui后感觉这个框架用的很多技术太古老,页面风格也太控件化.单从图标一项来说吧,这种花花绿绿的图标用户一看都傻了眼,同时整个框架就提供了那么 ...

  3. Innosetup打包自动下载.net framework 动态库及替换卸载程序图标.

    在使用了一段时间微软自带的安装包打包工具后,总感觉不太顺利,于是便想着找一种更简单稳定的打包工具,这类工具其实还不少,最终经过各种考量,我们选择了 InnoSetup , 该工具是一个完全免费的Win ...

  4. Font Awesome-用CSS实现各种小图标icon

    Font Awesome为您提供可缩放的矢量图标,您可以使用CSS所提供的所有特性对它们进行更改,包括:大小.颜色.阴影或者其它任何支持的效果.官网:http://fontawesome.dashga ...

  5. 使用Font Awesome替换你的网站图标(icons 图标)

    http://www.thinkcmf.com/font/icons/ 第一次使用 Font Awesome 发现相当的爽呀!它的图标很全,能够帮你节约时间去找图片.下面就来一起学习吧: 1: 去官方 ...

  6. jquery easyui添加图标扩展

    easyui中有很多通过iconCls="icon-reload"这样的属性引入小图标显示,当然我们也可以自己添加自己的小图标. 方式:1.我们可以在jquery easyui的文 ...

  7. 如何将 Font Awesome 转成 PNG 图标 详细教程 含源代码

    最近因为项目上需要用到这个字体图标,但是它里面的许多也不能完全满足项目需要,因此就考虑将这个图标导出,然后自己再添加一些其他图标使用 搜索了些解决方案,如:http://www.oschina.net ...

  8. easyui 放大镜图标

    iconCls:search 对应的 easyui的查询图标忒丑 想用放大镜图标 iconCls:zoom 找半天找到放大镜图标的 然后去icon.css文件中查 发现这个样式就叫zoom.

  9. 2019-2-27-如何替换一个-exe-的图标

    title author date CreateTime categories 如何替换一个 exe 的图标 lindexi 2019-02-27 20:33:16 +0800 2019-2-27 2 ...

随机推荐

  1. python进阶(1)Lambda表达式

    Lambda表达式 lambda表示的是匿名函数,不需要用def来声明,一句话就可以声明出一个函数 语法 函数名 = lambda 参数:返回值 注意点 1.函数的参数可以有多个,多个参数之间用逗号隔 ...

  2. Js和JQuery基础

    1.JavaScript的组成 CMAScript (核心):规定了JS的语法和基本对象 DOM 文档对象模型:处理网页内容的方法和接口 BOM 浏览器对象模型:与浏览器交互的方法和接口 2.Java ...

  3. Go的数组

    目录 数组 一.数组的定义 1.声明数组 2.初始化设值 3.指定位置设值 4.不指定长度初始化(了解) 二.数组的使用 三.数组的类型 四.数组的长度 五.迭代数组 1.初始化迭代 2.使用rang ...

  4. Adapper 入门

    Adapper 入门 特点 单实体实现自动装配.连表查询需要自己处理装配,查看查询. 原生sql语句. 连接接口: IDbConnection connection = new SqlConnecti ...

  5. System.IO.IOException:“找不到资源“window1.xaml”。” 解决方法

    报错:找不到资源"window1.xaml 原因:在编译时使用的是en-US选项进行编译并生成了en-US为名的文件夹,里面包含了可本地化的内容:但是你的本地系统使用的是zh-CN,在你运行 ...

  6. Mybatis系列全解(五):全网最全!详解Mybatis的Mapper映射文件

    封面:洛小汐 作者:潘潘 若不是生活所迫,谁愿意背负一身才华. 前言 上节我们介绍了 < Mybatis系列全解(四):全网最全!Mybatis配置文件 XML 全貌详解 >,内容很详细( ...

  7. pytorch(00)

    pytorch入门到项目(-) 一.pytorch的环境 本身项目采用win10系统+pycharm+anaconda+cuda. 其中版本为 python 3.7 anaconda 5.3.1 cu ...

  8. SHELL编程概念&变量剖析

    一.shell软件概念和应用场景 1) 学习Linux技术,不是为了学习系统安装.命令操作.用户权限.配置IP.网络管理,学习Linux技术重点:基于Linux系统部署和维护各种应用软件.程序(Apa ...

  9. LNMP配置——PHP安装

    一.下载 #cd /usr/local/src //软件包都放在这里方便管理 #wget http://cn2.php.net/distributions/php-5.6.30.tar.gz 二.解压 ...

  10. css实现0.5像素的底边框。

    由于设计图的1px在移动端开发中的像素比是2倍,在实际开发中却是需要1px的线条,虽然最直接的方式是将线条设置为0.5px,但有些移动端对于0.5px的解析为0,变成了无边框的显示.因此处理该需求我们 ...