详解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实现类似翻书效果的过渡动画的示例代码
Sep 06 HTML / CSS
HTML5+CSS3 诱人的实例:3D立方体旋转动画实例
Dec 30 HTML / CSS
CSS3实现伪类hover离开时平滑过渡效果示例
Aug 10 HTML / CSS
使用css3做0.5px的细线的示例代码
Jan 18 HTML / CSS
详解css3中 text-fill-color属性
Jul 08 HTML / CSS
纯CSS3实现鼠标滑过按钮动画第二节
Jul 16 HTML / CSS
CSS3 实现发光边框特效
Nov 11 HTML / CSS
Html5中的桌面通知Notification的实现
Sep 25 HTML / CSS
利用HTML5的新特点实现图片文件异步上传
May 29 HTML / CSS
html5绘制时钟动画
Dec 15 HTML / CSS
HTML5本地存储之Web Storage详解
Jul 04 HTML / CSS
html+css 实现简易导航栏功能
Apr 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
国王的咖啡这么大来头,名字的由来是什么
2021/03/03 咖啡文化
推荐php模板技术[转]
2007/01/04 PHP
Notice: Undefined index: page in E:\PHP\test.php on line 14
2010/11/02 PHP
php版本的cron定时任务执行器使用实例
2014/08/19 PHP
PHP设计模式之适配器模式定义与用法详解
2018/04/03 PHP
PHP实现用户登录的案例代码
2018/05/10 PHP
iframe 父窗口和子窗口相互的调用方法集锦
2010/12/15 Javascript
JQUERY 设置SELECT选中项代码
2014/02/07 Javascript
JS不能跨域借助jquery获取IP地址的方法
2014/08/20 Javascript
js判断文本框输入的内容是否为数字
2015/12/23 Javascript
jQuery、zepto、js常用小技巧
2017/02/12 Javascript
JavaScript实现弹窗效果代码分析
2017/03/09 Javascript
基于angular实现三级联动的生日插件
2017/05/12 Javascript
js中数组对象去重的两种方法
2019/01/18 Javascript
JS定义函数的几种常用方法小结
2019/05/23 Javascript
Node.js创建一个Express服务的方法详解
2020/01/06 Javascript
JS数组方法reduce的用法实例分析
2020/03/03 Javascript
[56:35]DOTA2上海特级锦标赛主赛事日 - 5 总决赛Liquid VS Secret第一局
2016/03/06 DOTA
Python中使用urllib2防止302跳转的代码例子
2014/07/07 Python
Python 正则表达式入门(中级篇)
2016/12/07 Python
解决python中画图时x,y轴名称出现中文乱码的问题
2019/01/29 Python
python常用函数与用法示例
2019/07/02 Python
python 图像处理画一个正弦函数代码实例
2019/09/10 Python
python 实现检验33品种数据是否是正态分布
2019/12/09 Python
CSS3系列教程:背景图片(背景大小和多背景图) 应用说明
2012/12/19 HTML / CSS
h5页面唤起app如果没安装就跳转下载(iOS和Android)
2020/06/03 HTML / CSS
2014年五一活动策划方案
2014/03/15 职场文书
绿色环保标语
2014/06/12 职场文书
尊老爱亲美德少年事迹材料
2014/08/14 职场文书
学校四风问题对照检查材料思想汇报
2014/09/26 职场文书
四风问题自查自纠工作情况报告
2014/10/28 职场文书
上课睡觉万能检讨书
2015/02/17 职场文书
营运督导岗位职责
2015/04/10 职场文书
二胎满月酒致辞
2015/07/29 职场文书
css中有哪些方式可以隐藏页面元素及区别
2022/06/16 HTML / CSS
JavaScript parseInt0.0000005打印5原理解析
2022/07/23 Javascript