详解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 object-fit属性
Jul 27 HTML / CSS
CSS3 优势以及网页设计师如何使用CSS3技术
Jul 29 HTML / CSS
使用css3制作动感导航条示例
Jan 26 HTML / CSS
CSS3实例分享--超炫checkbox复选框和radio单选框
Sep 01 HTML / CSS
HTML5文档结构标签
Apr 21 HTML / CSS
html5播放视频且动态截图实现步骤与代码(支持safari其他未测试)
Jan 06 HTML / CSS
探索HTML5本地存储功能运用技巧
Mar 02 HTML / CSS
10个最常见的HTML5面试题 附答案
Jun 06 HTML / CSS
HTML5页面中尝试调起APP功能
Sep 12 HTML / CSS
手把手教你实现一个canvas智绘画板的方法
Mar 04 HTML / CSS
HTML5新增form控件和表单属性实例代码详解
May 15 HTML / CSS
html实现弹窗的实例
Jun 09 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中使用Oracle数据库(1)
2006/10/09 PHP
非常不错的MySQL优化的8条经验
2008/03/24 PHP
php 生成WML页面方法详解
2009/08/09 PHP
yii2学习教程之5种内置行为类详解
2017/08/03 PHP
浅谈PHP中pack、unpack的详细用法
2018/03/12 PHP
IE6下拉框图层问题探讨及解决
2014/01/03 Javascript
jquery动态改变form属性提交表单
2014/06/03 Javascript
jquery获取选中的文本和值的方法
2014/07/08 Javascript
jquery ajax请求方式与提示用户正在处理请稍等
2014/09/01 Javascript
实现音乐播放器的代码(html5+css3+jquery)
2015/08/04 Javascript
jquery实现触发时更新下拉列表内容的方法
2015/12/02 Javascript
10个JavaScript中易犯小错误
2016/02/14 Javascript
JS中Json数据的处理和解析JSON数据的方法详解
2016/06/29 Javascript
学习掌握JavaScript中this的使用技巧
2016/08/29 Javascript
jQuery树形插件jquery.simpleTree.js用法分析
2016/09/05 Javascript
JS多物体实现缓冲运动效果示例
2016/12/20 Javascript
详解RequireJs官方使用教程
2017/10/31 Javascript
BootstrapValidator实现表单验证功能
2019/11/08 Javascript
JS 设计模式之:单例模式定义与实现方法浅析
2020/05/06 Javascript
HTML元素拖拽功能实现的完整实例
2020/12/04 Javascript
python使用reportlab实现图片转换成pdf的方法
2015/05/22 Python
详解使用Python处理文件目录的相关方法
2015/10/16 Python
python+pandas+时间、日期以及时间序列处理方法
2018/07/10 Python
python 批量修改/替换数据的实例
2018/07/25 Python
python实现括号匹配的思路详解
2018/08/23 Python
Python模拟自动存取款机的查询、存取款、修改密码等操作
2018/09/02 Python
Python3安装pip工具的详细步骤
2019/10/14 Python
Python3 用什么IDE开发工具比较好
2020/11/28 Python
全网最全python库selenium自动化使用详细教程
2021/01/12 Python
中国专业的音频分享平台:喜马拉雅
2019/05/24 全球购物
印度尼西亚最完整和最大的在线药房网站:Farmaku.com
2019/11/23 全球购物
办公室内勤岗位职责范本
2013/12/09 职场文书
学生会离职感言
2014/02/11 职场文书
餐厅周年庆活动方案
2014/08/25 职场文书
2015公务员年度考核评语
2015/03/25 职场文书
MYSQL事务的隔离级别与MVCC
2022/05/25 MySQL