如何利用网站制作IconFont图标?
在实际项目中,开发者难免会需要自定义图标,此时该如何操作呢?本文以阿里巴巴矢量图标库为例(同样的网站有很多,比如icomoon,欢迎热心用户分享其它平台的使用方法),介绍一种用户自定义图标的方法,假设我们要做一个电商项目,需要补充男装、女装、购物车三个图标,如下为分步实现操作;
登录
浏览器访问阿里巴巴矢量图标库官网,选择登录方式,可直接使用新浪微博账号登录;
搜索图标
在右上角搜索“男装”,会列出当前网站上的所有男装图标,如下:
![]()
选择自己喜欢的图标,点击,会添加到右上角的购物车中,如下:
![]()
同样的方式分别搜索选择女装、购物车图标,结果如下:
![]()
之后点击“存储为项目”,输入项目名字,例如“mui-icon-custom”,点击“存储”按钮后,会跳转到项目管理页面,如下图所示:
![]()
下载字体
点击“下载到本地”按钮,会将合并后的字体文件及自动生成的css全部下载,如下:
![]()
- 一般来说,我们只需要css和ttf即可,或加多woff,所以仅保留这三个文件即可有效果。
- svg文件是用于还原和导入为icon的,以备下次修改使用。所以如无特殊需求,将以上文件都用上。
- 如果是第二次使用,只要把新css文件里的before样式复制到用着的css文件里即可(需先保证ttf包含原图标)。
- before-centent里的十六进制在下载前可自定义哦。
修改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;
} .icon-nanzhuang:before { content: "\e600"; } .icon-nvzhuang:before { content: "\e601"; } .icon-gouwuche:before { content: "\e602"; }
集成
将iconfont.css及iconfont.ttf两个文件分别拷贝到工程css及fonts目录下,然后即可在工程中引用刚生成的字体图标。示例如下:
主要代码:将图片块的class加需要的图标 (如:icon-nanzhuang) 即可。
觉得可以,记得右上角点赞哦!如有不正确的地方,欢迎各位大神指教!
【The End】
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
