详解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 中实现炫酷的loading效果
Apr 26 HTML / CSS
使用CSS3的appearance属性改变任何元素的浏览器默认风格
Dec 24 HTML / CSS
css3实现的多级渐变下拉菜单导航效果代码
Aug 31 HTML / CSS
Html5之svg可缩放矢量图形_动力节点Java学院整理
Jul 17 HTML / CSS
HTML5是否真的可以取代Flash
Feb 10 HTML / CSS
2014年圣诞节倒计时网页的制作过程
Dec 05 HTML / CSS
HTML5实现移动端复制功能
Apr 19 HTML / CSS
HTML5触摸事件实现移动端简易进度条的实现方法
May 04 HTML / CSS
canvas简易绘图的实现(海绵宝宝篇)
Jul 04 HTML / CSS
canvas实现二维码和图片合成的示例代码
Aug 01 HTML / CSS
如何给HTML标签中的文本设置修饰线
Nov 18 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
PHP HTML代码串截取代码
2008/12/29 PHP
php+xml实现在线英文词典查询的方法
2015/01/23 PHP
laravel框架创建授权策略实例分析
2019/11/22 PHP
PHP设计模式之组合模式定义与应用示例
2020/02/01 PHP
JS实现仿京东淘宝竖排二级导航
2014/12/08 Javascript
jQuery实现鼠标经过弹出提示信息的地图热点效果
2015/08/07 Javascript
BootStrap Table 分页后重新搜索问题的解决办法
2016/08/08 Javascript
jQuery3.0中的buildFragment私有函数详解
2016/08/16 Javascript
jQuery动态增减行的实例代码解析(推荐)
2016/12/05 Javascript
jQuery实现拖拽可编辑模块功能代码
2017/01/12 Javascript
详解React开发中使用require.ensure()按需加载ES6组件
2017/05/12 Javascript
javascript实现延时显示提示框效果
2017/06/01 Javascript
说说AngularJS中的$parse和$eval的用法
2017/09/14 Javascript
基于Vue2x的图片预览插件的示例代码
2018/05/14 Javascript
解决Layui 表单提交数据为空的问题
2018/08/15 Javascript
layui 弹出删除确认界面的实例
2019/09/06 Javascript
详解Vue 项目中的几个实用组件(ts)
2019/10/29 Javascript
javascript实现商品图片放大镜
2019/11/28 Javascript
JS实现小米轮播图
2020/09/21 Javascript
[01:32]2016国际邀请赛中国区预选赛IG战队首日赛后采访
2016/06/27 DOTA
python通过imaplib模块读取gmail里邮件的方法
2015/05/08 Python
浅谈python在提示符下使用open打开文件失败的原因及解决方法
2018/11/30 Python
解决PyCharm不运行脚本,而是运行单元测试的问题
2019/01/17 Python
Python+OpenCV+pyQt5录制双目摄像头视频的实例
2019/06/28 Python
Python实现FLV视频拼接功能
2020/01/21 Python
Html5之title吸顶功能
2018/06/04 HTML / CSS
请解释接口的显式实现有什么意义
2012/05/26 面试题
HR喜欢的自荐信格式
2013/10/08 职场文书
任课老师推荐信范文
2013/11/24 职场文书
毕业自我评价
2014/02/05 职场文书
抽样调查项目计划书
2014/04/24 职场文书
三严三实对照检查材料思想汇报
2014/09/28 职场文书
2014年社区工会工作总结
2014/12/18 职场文书
三八红旗手事迹材料
2014/12/26 职场文书
CSS3实现的水平标题菜单
2021/04/14 HTML / CSS
使用 CSS 构建强大且酷炫的粒子动画效果
2022/08/14 HTML / CSS