您的位置:首页 > 产品设计 > UI/UE

MUI实战开发第四集--如何增加自定义icon图标

2015-06-11 09:52 417 查看
mui如何增加自定义icon图标

mui框架遵循极简原则,在icon图标集上也是如此,mui仅集成了原生系统中最常用的图标;其次,mui中的图标并不是图片,而是字体,至于为什么使用字体图标而不是图片,相信web开发者多少都有所了解,简单列举几条:

多个图标字体合成一个字体文件,避免每张图片都需要联网请求;

字体可任意缩放,而图片放大会失真、缩小则浪费像素;

可通过css任意改变颜色、设置阴影及透明效果;

在实际项目中,开发者难免会需要自定义图标,此时该如何操作呢?本文以阿里巴巴矢量图标库为例(同样的网站有很多,比如icomoon,欢迎热心用户分享其它平台的使用方法),介绍一种用户自定义图标的方法,假设我们要做一个电商项目,需要补充男装、女装、购物车三个图标,如下为分步实现操作;


图标制作:


登录

浏览器访问阿里巴巴矢量图标库官网,选择登录方式,可直接使用新浪微博账号登录;


搜索图标

在右上角搜索“微信”,会列出当前网站上的所有男装图标,如下:

选择自己喜欢的图标,点击,会添加到右上角的购物车中,如下:

同样的方式分别搜索选择手机、qq、微博图标,结果如下:

直接点击下载到本地

下载完毕后解压此文件

解压后的目录结构如:


修改css

默认的CSS如下: 文件名为:iconfont.css

@font-face {font-family: "iconfont";
src: url('iconfont.eot'); /* IE9*/
src: url('iconfont.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('iconfont.woff') format('woff'), /* chrome、firefox */
url('iconfont.ttf') format('truetype'), /* chrome、firefox、opera、Safari, Android, iOS 4.2+*/
url('iconfont.svg#iconfont') format('svg'); /* iOS 4.1- */
}

.iconfont {
font-family:"iconfont" !important;
font-size:16px;
font-style:normal;
-webkit-font-smoothing: antialiased;
-webkit-text-stroke-width: 0.2px;
-moz-osx-font-smoothing: grayscale;
}
.icon-shouji:before { content: "\e629"; }
.icon-weixin:before { content: "\e603"; }
.icon-qq:before { content: "\e610"; }
.icon-weibo:before { content: "\e62a"; }


字体文件与MUI整合

我们可稍作如下修改:

为保证和mui目录结构统一,建议将字体文件放在fonts目录下,这样我们需要修改@font-face下得url属性;

只兼容iOS和Android版本的话,我们仅需要ttf格式的字体即可,其它字体可以删除;同时,我们也仅需保留-webkit前缀语法,-moz前缀部分可以删除;
目录结构

修改后的css代码如下:

@font-face {font-family: "iconfont";
src:url('../fonts/iconfont.ttf') format('truetype'); /* chrome、firefox、opera、Safari, Android, iOS 4.2+*/
}
.iconfont {
font-family: "iconfont" !important;
font-size: 35px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-webkit-text-stroke-width: 0.5px;
padding: 0 8px;
}

.icon-shouji:before { content: "\e629"; color: #4CD964;cursor: pointer;}
.icon-weixin:before { content: "\e603"; color: #2AC845; cursor: pointer;}
.icon-qq:before { content: "\e610";color: #007AFF;}
.icon-weibo:before { content: "\e62a"; color:#CF2D28}
在页面中使用图标

<ul>
<li class="mui-icon iconfont icon-shouji" id="login_tel"></li>
<li class="mui-icon iconfont icon-qq" id="qq"></li>
<li class="mui-icon iconfont icon-weixin" id="weixin"></li>
<li class="mui-icon iconfont icon-weibo" id="weibo"></li>
</ul>


效果如下

图标更改后默认是黑争的,如果您需要换颜色,哪么可以直接更改字体颜色即可,CSS代码如下

.icon-shouji:before { content: "\e629"; color: #4CD964;cursor: pointer;}
.icon-weixin:before { content: "\e603"; color: #2AC845; cursor: pointer;}
.icon-qq:before { content: "\e610";color: #007AFF;}
.icon-weibo:before { content: "\e62a"; color:#CF2D28}
与上面的代码是致的,可以根据自己的需要进行更改
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: