MUI实战开发第四集--如何增加自定义icon图标
2015-06-11 09:52
417 查看
mui如何增加自定义icon图标
mui框架遵循极简原则,在icon图标集上也是如此,mui仅集成了原生系统中最常用的图标;其次,mui中的图标并不是图片,而是字体,至于为什么使用字体图标而不是图片,相信web开发者多少都有所了解,简单列举几条:
多个图标字体合成一个字体文件,避免每张图片都需要联网请求;
字体可任意缩放,而图片放大会失真、缩小则浪费像素;
可通过css任意改变颜色、设置阴影及透明效果;
在实际项目中,开发者难免会需要自定义图标,此时该如何操作呢?本文以阿里巴巴矢量图标库为例(同样的网站有很多,比如icomoon,欢迎热心用户分享其它平台的使用方法),介绍一种用户自定义图标的方法,假设我们要做一个电商项目,需要补充男装、女装、购物车三个图标,如下为分步实现操作;
浏览器访问阿里巴巴矢量图标库官网,选择登录方式,可直接使用新浪微博账号登录;
在右上角搜索“微信”,会列出当前网站上的所有男装图标,如下:
选择自己喜欢的图标,点击,会添加到右上角的购物车中,如下:
同样的方式分别搜索选择手机、qq、微博图标,结果如下:
直接点击下载到本地
下载完毕后解压此文件
解压后的目录结构如:
默认的CSS如下: 文件名为:iconfont.css
字体文件与MUI整合
我们可稍作如下修改:
为保证和mui目录结构统一,建议将字体文件放在fonts目录下,这样我们需要修改@font-face下得url属性;
只兼容iOS和Android版本的话,我们仅需要ttf格式的字体即可,其它字体可以删除;同时,我们也仅需保留-webkit前缀语法,-moz前缀部分可以删除;
目录结构
修改后的css代码如下:
效果如下
图标更改后默认是黑争的,如果您需要换颜色,哪么可以直接更改字体颜色即可,CSS代码如下
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}与上面的代码是致的,可以根据自己的需要进行更改
相关文章推荐
- 关于使用unigui、webxone、mysql的几个问题
- java.sql.SQLException: Can not issue data manipulation statements with executeQuery().
- UIPanGestureRecognizer手势影响UISlider拖动的问题及解决办法
- java.sql.SQLException: Can not issue data manipulation statements with executeQuery().
- MUI仿今日头条第三集--侧滑菜单制作
- java.sql.SQLException: Can not issue empty query.
- java.sql.SQLException: Can not issue empty query.
- 跳出手掌心--如何立即触发UIButton边界事件
- 帮学长的jfinal+easyui
- “XXX.Index”不扩展类“System.Web.UI.Page”,因此此处不允许的问题
- “XXX.Index”不扩展类“System.Web.UI.Page”,因此此处不允许的问题
- MongoVUE模糊查询,更新单个字段
- DuiVision开发教程(17)-对话框
- First Class: UI of Android
- Invalid result location value/parameter
- First class: UI design for Android
- Bluemix云平台实战日志:VitualMachine root
- Java——(六)Collection之Queue集合
- Your build settings specify a provisioning profil
- 脚踏实地向前走