mui框架遵循极简原则,在icon图标集上也是如此,mui仅集成了原生系统中最常用的图标;其次,mui中的图标并不是图片,而是字体,至于为什么使用字体图标而不是图片,相信web开发者多少都有所了解,简单列举几条:
1.多个图标字体合成一个字体文件,避免每张图片都需要联网请求;
2.字体可任意缩放,而图片放大会失真、缩小则浪费像素;
3.可通过css任意改变颜色、设置阴影及透明效果;
在实际项目中,开发者难免会需要自定义图标,此时该如何操作呢?这里我以阿里巴巴的矢量图为例(http://iconfont.cn/plus/search/index) 当然小伙伴们也可以,使用别的网站上面的
当然在自定义icon图标之前,要现先有自己的图标,下面简单介绍一下,如何制作自己的图标
第一步:搜索图标
第二步: 把搜索到的图标点击添加到购物车
第三步: 之后点击“存储为项目”,输入项目名字,例如“mui-icon-custom”,点击“存储”按钮后,会跳转到项目管理页面,如下图所示:
第四步:下载字体
点击“下载到本地”按钮,会将合并后的字体文件及自动生成的css全部下载
第五步:修改css样式
默认的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-nanzhuang:before { content: "\e600"; }
.icon-nvzhuang:before { content: "\e601"; }
.icon-gouwuche:before { content: "\e602"; }
我们可稍作如下修改:
为保证和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:16px;
font-style:normal;
-webkit-font-smoothing: antialiased;
-webkit-text-stroke-width: 0.2px;
-moz-osx-font-smoothing: grayscale;
}
.icon-wode:before { content: "\e618"; }
.icon-shequ5:before { content: "\e600"; }
第六步:集成mui
将iconfont.css及iconfont.ttf两个文件分别拷贝到mui工程css及fonts目录下,然后即可在mui中引用刚生成的字体图标,我们以选项卡为例,代码如下:
<nav class="mui-bar mui-bar-tab">
<a class="mui-tab-item mui-active" href="main/main.html">
<span class="mui-icon mui-icon-home"></span>
<span class="mui-tab-label">首页</span>
</a>
<a class="mui-tab-item" href="dynamic/dynamic.html">
<span class="mui-icon iconfont icon-shequ5"></span>
<span class="mui-tab-label">党员互动</span>
</a>
<a class="mui-tab-item" href="person/person.html">
<span class="mui-icon iconfont icon-wode"></span>
<span class="mui-tab-label">个人中心</span>
</a>
</nav>
总结: 整个流程就是搜索图标,下载图标,修改图标的css样式,切记文件的路径要放对,否则显示不出来
注:在此就不提供demo了,有需求的小伙伴可以添加 qq 1198928367 ,欢迎大家来交流