详解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的CSS 多栏(Multi-column)实现瀑布流源码分享
Jun 11 HTML / CSS
css3中新增的样式使用示例附效果图
Aug 19 HTML / CSS
CSS3 仿微信聊天小气泡实例代码
Apr 05 HTML / CSS
详解Sticky Footer 绝对底部的两种套路
Nov 03 HTML / CSS
html5 svg 中元素点击事件添加方法
Jan 16 HTML / CSS
HTML5 embed 标签使用方法介绍
Aug 13 HTML / CSS
分享全球十款超强HTML5开发工具
May 14 HTML / CSS
html5生成柱状图(条形图)效果的实例代码
Mar 25 HTML / CSS
处理textarea中的换行和空格
Dec 12 HTML / CSS
video.js支持m3u8格式直播的实现示例
May 20 HTML / CSS
html实现弹窗的实例
Jun 09 HTML / CSS
CSS使用Flex和Grid布局实现3D骰子
Aug 05 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获取linux命令结果的实例
2017/03/13 PHP
setTimeout和setInterval的深入理解
2013/11/08 Javascript
checkbox选中与未选中判断示例
2014/08/04 Javascript
使用javascript实现判断当前浏览器
2015/04/14 Javascript
jQuery实现div拖拽效果实例分析
2016/02/20 Javascript
Bootstrap模态对话框的简单使用
2016/04/29 Javascript
Easyui在treegrid添加控件的实现方法
2017/06/23 Javascript
使用ionic(选项卡栏tab) icon(图标) ionic上拉菜单(ActionSheet) 实现通讯录界面切换实例代码
2017/10/20 Javascript
jQuery实现的简单手风琴效果示例
2018/08/29 jQuery
vue-router两种模式区别及使用注意事项详解
2019/08/01 Javascript
微信小程序授权登陆及每次检查是否授权实例代码
2019/09/18 Javascript
JS实现水平移动与垂直移动动画
2019/12/19 Javascript
微信小程序实现比较功能的方法汇总(五种方法)
2020/03/07 Javascript
使用Typescript和ES模块发布Node模块的方法
2020/05/25 Javascript
JS删除数组指定值常用方法详解
2020/06/04 Javascript
[01:01:18]DOTA2上海特级锦标赛主赛事日 - 2 败者组第二轮#2COL VS LGD
2016/03/03 DOTA
在Python的Django框架中实现Hacker News的一些功能
2015/04/17 Python
PYTHON 中使用 GLOBAL引发的一系列问题
2016/10/12 Python
Python AES加密实例解析
2018/01/18 Python
python实现自动登录
2018/09/17 Python
pytorch在fintune时将sequential中的层输出方法,以vgg为例
2019/08/20 Python
详解Python3定时器任务代码
2019/09/23 Python
Python读取表格类型文件代码实例
2020/02/17 Python
eBay比利时购物网站:eBay.be
2019/08/09 全球购物
The Athlete’s Foot新西兰:新西兰最大的运动鞋零售商
2019/12/23 全球购物
中专毕业个人的自荐信格式
2013/09/21 职场文书
求职自荐信范文格式
2013/11/29 职场文书
理工科学生的自我评价
2013/12/15 职场文书
三八妇女节活动总结
2014/05/04 职场文书
新教师岗前培训方案
2014/06/05 职场文书
离婚协议书范文2015
2015/01/26 职场文书
上班迟到检讨书
2015/05/06 职场文书
小程序与后端Java接口交互实现HelloWorld入门
2021/07/09 Java/Android
为什么MySQL选择Repeatable Read作为默认隔离级别
2021/07/26 MySQL
python 远程执行命令的详细代码
2022/02/15 Python
SQL CASE 表达式的具体使用
2022/03/21 SQL Server