详解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实现背景模糊的三种方式
Mar 09 HTML / CSS
一款利用html5和css3实现的3D立方体旋转效果教程
Apr 26 HTML / CSS
CSS3实现闪烁动画效果的方法
Feb 09 HTML / CSS
基础的CSS3弹性盒Flexbox布局使用实例
Apr 08 HTML / CSS
详解CSS透明opacity和IE各版本透明度滤镜filter的最准确用法
Dec 20 HTML / CSS
解决img标签上下出现间隙的方法
Dec 14 HTML / CSS
HTML5里autofocus自动聚焦属性使用介绍
Jun 22 HTML / CSS
HTML5学习笔记之html5与传统html区别
Jan 06 HTML / CSS
HTML5+CSS3绘制锯齿状的矩形
Mar 01 HTML / CSS
Html5页面中的返回实现的方法
Feb 26 HTML / CSS
3种方式实现瀑布流布局小结
Sep 05 HTML / CSS
Amaze UI 文件选择域的示例代码
Aug 26 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
Yii2下session跨域名共存的解决方案
2017/02/04 PHP
tp5.1框架数据库子查询操作实例分析
2020/05/26 PHP
javascript实现动态CSS换肤技术的脚本
2007/06/29 Javascript
JavaScript开发规范要求(规范化代码)
2010/08/16 Javascript
用JavaScript获取DOM元素位置和尺寸大小的方法
2013/04/12 Javascript
jQuery 无限级菜单的简单实例
2014/02/21 Javascript
JavaScript基础知识之方法汇总结
2016/01/24 Javascript
jQuery插件实现可输入和自动匹配的下拉框
2016/10/24 Javascript
Bootstrap CSS组件之导航条(navbar)
2016/12/17 Javascript
[Bootstrap-插件使用]Jcrop+fileinput组合实现头像上传功能实例代码
2016/12/20 Javascript
JavaScript获取键盘按键的键码(参照表)
2017/01/10 Javascript
Vue.js如何实现路由懒加载浅析
2017/08/14 Javascript
js实现数组和对象的深浅拷贝
2017/09/30 Javascript
VUE2.0中Jsonp的使用方法
2018/05/22 Javascript
mpvue 如何使用腾讯视频插件的方法
2018/07/16 Javascript
koa+mongoose实现简单增删改查接口的示例代码
2019/05/13 Javascript
element form 校验数组每一项实例代码
2019/10/10 Javascript
使用Node.js实现base64和png文件相互转换的方法
2020/03/11 Javascript
如何修改Vue打包后文件的接口地址配置的方法
2020/04/22 Javascript
如何在现代JavaScript中编写异步任务
2021/01/31 Javascript
用Python实现QQ游戏大家来找茬辅助工具
2014/09/14 Python
Python常用内置函数总结
2015/02/08 Python
python使用opencv进行人脸识别
2017/04/07 Python
Python读取指定目录下指定后缀文件并保存为docx
2017/04/23 Python
后端开发使用pycharm的技巧(推荐)
2020/03/27 Python
Python并发concurrent.futures和asyncio实例
2020/05/04 Python
怎么快速自学python
2020/06/22 Python
python中tkinter窗口位置\坐标\大小等实现示例
2020/07/09 Python
CSS3线性渐变简单实现以及该属性在浏览器中的不同
2012/12/12 HTML / CSS
详解html5 canvas常用api总结(二)--绘图API
2016/12/14 HTML / CSS
Gap英国官网:Gap UK
2018/07/18 全球购物
马耳他航空公司官方网站:Air Malta
2019/05/15 全球购物
大学应届生求职简历的自我评价
2013/10/08 职场文书
需求分析说明书
2014/05/09 职场文书
党员领导干部民主生活会批评与自我批评发言
2014/09/28 职场文书
vue首次渲染全过程
2021/04/21 Vue.js