详解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支持IE6, 7, and 8的边框border属性
Dec 28 HTML / CSS
css3实现针线缝合效果(图解步骤)
Feb 04 HTML / CSS
CSS3 绘制BMW logo实的现代码
Apr 25 HTML / CSS
CSS3制作炫酷的自定义发光文字
Mar 28 HTML / CSS
CSS3条纹背景制作的实战攻略
May 31 HTML / CSS
HTML 5 标签、属性、事件及浏览器兼容性速查表 附打包下载
Oct 20 HTML / CSS
html5配合css3实现带提示文字的输入框(摆脱js)
Mar 08 HTML / CSS
谈一谈HTML5本地存储技术
Mar 02 HTML / CSS
Html5实现移动端、PC端 刮刮卡效果
Jun 30 HTML / CSS
mui几种页面跳转方式对比总结概括
Aug 18 HTML / CSS
HTML5本地存储和本地数据库实例详解
Sep 05 HTML / CSS
深入了解canvas在移动端绘制模糊的问题解决
Apr 30 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 CURL模拟登录新浪微博抓取页面内容 基于EaglePHP框架开发
2012/01/16 PHP
php判断变量类型常用方法
2012/04/24 PHP
php中利用explode函数分割字符串到数组
2014/02/08 PHP
php将文件夹打包成zip文件的简单实现方法
2016/10/04 PHP
PHP排序算法之堆排序(Heap Sort)实例详解
2018/04/21 PHP
PHP中迭代器的简单实现及Yii框架中的迭代器实现方法示例
2020/04/26 PHP
js获取多个tagname的节点数组
2013/09/22 Javascript
jQuery控制TR显示隐藏的三种常用方法
2014/08/21 Javascript
Jquery实现textarea根据文本内容自适应高度
2015/04/03 Javascript
jquery实现点击弹出带标题栏的弹出层(从右上角飞入)效果
2015/09/19 Javascript
jQuery formValidator表单验证
2016/01/07 Javascript
JS简单实现tab切换效果的多窗口显示功能
2016/09/07 Javascript
javascript简易画板开发
2020/04/12 Javascript
JavaScript实现的微信二维码图片生成器的示例
2016/10/26 Javascript
Javascript中八种遍历方法的执行速度深度对比
2017/04/25 Javascript
vue 实现用户登录方式的切换功能
2020/04/14 Javascript
[50:22]完美盛典-2018年度红毯走秀
2018/12/16 DOTA
pygame学习笔记(5):游戏精灵
2015/04/15 Python
详解 Python中LEGB和闭包及装饰器
2017/08/03 Python
动态规划之矩阵连乘问题Python实现方法
2017/11/27 Python
python opencv判断图像是否为空的实例
2019/01/26 Python
python opencv minAreaRect 生成最小外接矩形的方法
2019/07/01 Python
Python参数传递机制传值和传引用原理详解
2020/05/22 Python
Python3 ffmpeg视频转换工具使用方法解析
2020/08/10 Python
CSS3制作彩色进度条样式的代码示例分享
2016/06/23 HTML / CSS
医药专业推荐信
2013/11/15 职场文书
求职自荐信格式
2013/12/04 职场文书
爷爷追悼会答谢词
2014/01/24 职场文书
房屋出售协议书
2014/04/10 职场文书
安全生产大检查方案
2014/05/07 职场文书
2014年营销工作总结
2014/11/22 职场文书
行政撤诉申请书
2015/05/18 职场文书
2016年小学生教师节广播稿
2015/12/18 职场文书
2016年优秀党务工作者先进事迹材料
2016/02/29 职场文书
python pygame入门教程
2021/06/01 Python
分享Python获取本机IP地址的几种方法
2022/03/17 Python