详解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 相关文章推荐
纯DOM+CSS3实现简单的小风车动画
Sep 27 HTML / CSS
CSS3 特效范例整理
Aug 22 HTML / CSS
时尚的CSS3进度条效果
Feb 22 HTML / CSS
css3 旋转按钮 使用CSS3创建一个旋转可变色按钮
Dec 31 HTML / CSS
CSS3色彩模式有哪些?CSS3 HSL色彩模式的定义
Apr 26 HTML / CSS
详解CSS3的图层阴影和文字阴影效果使用
Jun 09 HTML / CSS
利用HTML5画出一个坦克的形状具体实现代码
Jun 20 HTML / CSS
HTML5实现锚点时请使用id取代name
Sep 06 HTML / CSS
HTML5 Video/Audio播放本地文件示例介绍
Nov 18 HTML / CSS
HTML5之语义标签介绍
Jul 07 HTML / CSS
HTML5和CSS3实例教程总结(推荐)
Jul 18 HTML / CSS
CSS实现漂亮的时钟动画效果的实例代码
Mar 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 读取文件乱码问题
2010/02/20 PHP
php下拉选项的批量操作的实现代码
2013/10/14 PHP
PHP图片上传代码
2013/11/04 PHP
PHP MYSQL实现登陆和模糊查询两大功能
2016/02/05 PHP
js直接编辑当前cookie的脚本
2008/09/14 Javascript
Eclipse下jQuery文件报错出现错误提示红叉
2014/01/13 Javascript
js实现网页自动刷新可制作节日倒计时效果
2014/05/27 Javascript
浅析Node.js中的内存泄漏问题
2015/06/23 Javascript
Angular中$compile源码分析
2016/01/28 Javascript
javascript检测移动设备横竖屏
2016/05/21 Javascript
纯JS前端实现分页代码
2016/06/21 Javascript
分分钟玩转Vue.js组件
2016/10/25 Javascript
js中数组插入、删除元素操作的方法
2017/02/15 Javascript
nodejs入门教程四:URL相关模块用法分析
2017/04/24 NodeJs
JS实现多张图片预览同步上传功能
2017/06/23 Javascript
Servlet3.0与纯javascript通过Ajax交互的实例详解
2018/03/18 Javascript
Nodejs使用archiver-zip-encrypted库加密压缩文件时报错(解决方案)
2019/11/18 NodeJs
node.js中fs文件系统模块的使用方法实例详解
2020/02/13 Javascript
python多线程threading.Lock锁用法实例
2014/11/01 Python
Python 文件操作的详解及实例
2017/09/18 Python
Python+OpenCV让电脑帮你玩微信跳一跳
2018/01/04 Python
Python实现获取邮箱内容并解析的方法示例
2018/06/16 Python
WIn10+Anaconda环境下安装PyTorch(避坑指南)
2019/01/30 Python
Python在cmd上打印彩色文字实现过程详解
2019/08/07 Python
Python操作SQLite数据库过程解析
2019/09/02 Python
Python内置函数locals和globals对比
2020/04/28 Python
TensorFlow保存TensorBoard图像操作
2020/06/23 Python
为女性购买传统的印度服装和婚纱:Kalkifashion
2019/07/22 全球购物
英国标志性生活方式品牌:Skinnydip London
2019/12/15 全球购物
行政管理人员精品工作推荐信
2013/11/04 职场文书
母亲七十大寿答谢词
2014/01/18 职场文书
美术指导求职信
2014/03/17 职场文书
销售求职信范文
2014/05/26 职场文书
交通违章检讨书
2014/09/21 职场文书
董事长秘书岗位职责
2015/02/13 职场文书
退税申请报告怎么写
2015/05/18 职场文书