详解CSS中iconfont的使用


Posted in HTML / CSS onAugust 04, 2015

初识iconfont

就算我们一开始不懂这个英文不懂是干嘛的,对于iconfont,英文从后往前读应该叫做:字体图标。这里面已经包含两个概念,首先必须是字体,第二,就是图标。我们都知道网页中的字体我们可以控制大小、样式、变形、拉伸、默认字体等属性,所以这个iconfont必须是以文字嵌入到样式中,所以想到的必须是font;既然是图标那么它就必须有一个路径来引入进来,首先我们一开始想到的img这个标签,既然又是文字又是图标,我们能想到的就只有这个@font-facecss3属性。

还有这个iconfont后来词语,并不是一开始就出现的,网页制作者或者学者想要叫起来更爽口所赋予的一个表现层的东西。

所以,当我们看见阿里巴巴的iconfont的图标教程如下:

第一步:使用font-face声明字体

CSS Code复制内容到剪贴板
  1. @font-face {font-family'iconfont';   
  2.     srcurl('iconfont.eot'); /* IE9*/  
  3.     srcurl('iconfont.eot?#iefix'format('embedded-opentype'), /* IE6-IE8 */  
  4.     url('iconfont.woff'format('woff'), /* chrome、firefox */  
  5.     url('iconfont.ttf'format('truetype'), /* chrome、firefox、opera、Safari, Android, iOS 4.2+*/  
  6.     url('iconfont.svg#uxiconfont'format('svg'); /* iOS 4.1- */  
  7. }  

第二步:定义使用iconfont的样式

CSS Code复制内容到剪贴板
  1. .iconfont{   
  2.     font-family:"iconfont" !important;   
  3.     font-size:16px;font-style:normal;   
  4.     -webkit-font-smoothing: antialiased;   
  5.     -webkit-text-stroke-width: 0.2px;   
  6.     -moz-osx-font-smoothing: grayscale;}  

第三步:挑选相应图标并获取字体编码,应用于页面

CSS Code复制内容到剪贴板
  1. <i class="iconfont">#x33</i>  

效果如下
详解CSS中iconfont的使用

但是,Iconfont存在一些弊端:

    浏览器将其视为文字进行抗锯齿优化,有时得到的效果并没有想象中那么锐利。 尤其是在不同系统下对文字进行抗锯齿的算法不同,可能会导致显示效果不同。
    Icon Font 作为一种字体,Icon 显示的大小和位置可能要受到font-size、line-height、word-spacing等等 CSS 属性的影响。 Icon 所在容器的 CSS 样式可能对 Icon 的位置产生影响,调整起来很不方便。
    使用上存在不便。首先,加载一个包含数百图标的 Icon Font,却只使用其中几个图标,非常浪费加载时间。 如果是自己制作 Icon Font 以及把多个 Icon Font 中用到的图标整合成一个 Font 也非常不方便。当然使用阿里UX矢量图标库可以解决这个问题
    为了实现最大程度的浏览器支持,可能要提供至少四种不同类型的字体文件。包括TTF、WOFF、EOT 以及一个使用 SVG 格式定义的字体。如果是自己制作的话,可能要头疼死

HTML / CSS 相关文章推荐
CSS3教程(1):什么是CSS3
Apr 02 HTML / CSS
css3实现超炫风车特效
Nov 12 HTML / CSS
移动web模拟客户端实现多方框输入密码效果【附代码】
Mar 25 HTML / CSS
html5指南-3.如何实现html元素拖拽功能
Jan 07 HTML / CSS
HTML5中如何显示视频呢 HTML5视频播放demo
Jun 08 HTML / CSS
html5 音乐播放器 audio 标签使用概述
Jul 15 HTML / CSS
html5教程制作简单画板代码分享
Dec 04 HTML / CSS
canvas之自定义头像功能实现代码示例
Sep 29 HTML / CSS
JavaScript+Canvas实现自定义画板的示例代码
May 13 HTML / CSS
使用css样式设计一个简单的html登陆界面的实现
Mar 30 HTML / CSS
基于CSS3画一个iPhone
Apr 21 HTML / CSS
html css3不拉伸图片显示效果
Jun 07 HTML / CSS
使用CSS3来匹配横屏竖屏的简单方法
Aug 04 #HTML / CSS
CSS3的一个简单导航栏实现
Aug 03 #HTML / CSS
使用CSS3和Checkbox实现JQuery的一些效果
Aug 03 #HTML / CSS
CSS3中的clip-path使用攻略
Aug 03 #HTML / CSS
利用SVG和CSS3来实现一个炫酷的边框动画
Jul 22 #HTML / CSS
CSS3中的content属性使用示例
Jul 20 #HTML / CSS
详解CSS3中border-image的使用
Jul 18 #HTML / CSS
You might like
PHP实现克鲁斯卡尔算法实例解析
2014/08/22 PHP
PHP生成不重复随机数的方法汇总
2014/11/19 PHP
PHP CURL 多线程操作代码实例
2015/05/13 PHP
php有效防止图片盗用、盗链的两种方法
2016/11/01 PHP
分享27款非常棒的jQuery 表单插件
2011/03/28 Javascript
jQuery遍历Form示例代码
2013/09/03 Javascript
NodeJS中利用Promise来封装异步函数
2015/02/25 NodeJs
javascript实现的左右无缝滚动效果
2016/09/19 Javascript
javascript加载xml 并解析各节点的值(实现方法)
2016/10/12 Javascript
Javascript+CSS3实现进度条效果
2016/10/28 Javascript
玩转NODE.JS(四)-搭建简单的聊天室的代码
2016/11/11 Javascript
JavaScript利用Date实现简单的倒计时实例
2017/01/12 Javascript
Angular.js自定义指令学习笔记实例
2017/02/24 Javascript
jQuery时间验证和转换为标准格式的时间格式
2017/03/06 Javascript
js判断PC端与移动端跳转
2020/12/24 Javascript
详解用node编写自己的cli工具
2017/05/23 Javascript
Angular 通过注入 $location 获取与修改当前页面URL的实例
2017/05/31 Javascript
Django与Vue语法的冲突问题完美解决方法
2017/12/14 Javascript
js Element Traversal规范中的元素遍历方法
2018/04/19 Javascript
微信小程序实现商城倒计时
2020/11/01 Javascript
python2.7的编码问题与解决方法
2016/10/04 Python
python executemany的使用及注意事项
2017/03/13 Python
python 计算两个日期相差多少个月实例代码
2017/05/24 Python
解决python文件字符串转列表时遇到空行的问题
2017/07/09 Python
澳大利亚排名第一的在线酒类商店:MyBottleShop
2018/04/26 全球购物
上海雨人软件技术开发有限公司测试题
2015/07/14 面试题
印刷工程专业应届生求职信
2013/09/29 职场文书
手工社团活动方案
2014/02/17 职场文书
党的群众路线教育实践活动公开承诺书
2014/03/28 职场文书
政治思想表现评语
2014/05/04 职场文书
员工趣味活动方案
2014/08/27 职场文书
工商局局长个人对照检查材料思想汇报
2014/09/23 职场文书
基层干部个人对照检查及整改措施
2014/10/28 职场文书
2014年残疾人工作总结
2014/12/06 职场文书
2015共产党员公开承诺书
2015/01/22 职场文书
详细介绍MySQL中limit和offset的用法
2022/05/06 MySQL