详解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弹性盒模型开发笔记(三)
Apr 26 HTML / CSS
纯CSS实现聊天框小尖角、气泡效果
Apr 04 HTML / CSS
纯CSS改变webkit内核浏览器的滚动条样式
Apr 17 HTML / CSS
CSS3+js实现简单的时钟特效
Mar 18 HTML / CSS
CSS3中使用RGBa来调节透明度的教程
May 09 HTML / CSS
HTML5移动开发图片压缩上传功能
Nov 09 HTML / CSS
HTML5中实现拖放效果无须借助javascript
Dec 26 HTML / CSS
html特殊符号示例 html特殊字符编码对照表
Jan 14 HTML / CSS
关于HTML5 Placeholder新标签低版本浏览器下不兼容的问题分析及解决办法
Jan 27 HTML / CSS
html5教你做炫酷的碎片式图片切换 (canvas)
Jul 28 HTML / CSS
浅谈Html5页面打开app的一些思考
Mar 30 HTML / CSS
使用HTML5加载音频和视频的实现代码
Nov 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正则表达匹配中文问题分析小结
2012/03/25 PHP
无法在发生错误时创建会话,请检查 PHP 或网站服务器日志,并正确配置 PHP 安装(win+linux)
2012/05/05 PHP
测试php函数的方法
2013/11/13 PHP
php单例模式示例分享
2015/02/12 PHP
详解PHP中foreach的用法和实例
2016/10/25 PHP
PHP使用第三方即时获取物流动态实例详解
2017/04/27 PHP
JavaScript Event学习第七章 事件属性
2010/02/07 Javascript
JavaScript初学者需要了解10个小技巧
2010/08/25 Javascript
Jquery中Ajax 缓存带来的影响的解决方法
2011/05/19 Javascript
js页面跳转的问题(跳转到父页面、最外层页面、本页面)
2013/08/14 Javascript
Spring mvc 接收json对象
2015/12/10 Javascript
Bootstrap编写导航栏和登陆框
2016/05/30 Javascript
JS中使用FormData上传文件、图片的方法
2016/08/07 Javascript
JavaScript基于对象去除数组重复项的方法
2016/10/09 Javascript
angularjs 中$apply,$digest,$watch详解
2016/10/13 Javascript
详解Vue的computed(计算属性)使用实例之TodoList
2017/08/07 Javascript
Vue 按键修饰符处理事件的方法
2018/05/04 Javascript
jQuery实现模糊查询的方法分析
2018/05/10 jQuery
Javascript实现一朵从含苞到绽放的玫瑰
2019/03/30 Javascript
小程序如何自主实现拦截器的示例代码
2019/11/04 Javascript
[02:01]2018完美盛典-开场舞《双子星》
2018/12/16 DOTA
python使用xmlrpclib模块实现对百度google的ping功能
2015/06/02 Python
Django学习笔记之Class-Based-View
2017/02/15 Python
Python对列表去重的多种方法(四种方法)
2017/12/05 Python
Python vtk读取并显示dicom文件示例
2020/01/13 Python
python列表返回重复数据的下标
2020/02/10 Python
python使用hdfs3模块对hdfs进行操作详解
2020/06/06 Python
终于搞懂了Keras中multiloss的对应关系介绍
2020/06/22 Python
Python ckeditor富文本编辑器代码实例解析
2020/06/22 Python
Pytorch 卷积中的 Input Shape用法
2020/06/29 Python
详解Scrapy Redis入门实战
2020/11/18 Python
selenium+python实现基本自动化测试的示例代码
2021/01/27 Python
前后端结合实现amazeUI分页效果
2020/08/21 HTML / CSS
英国日常交易网站:Wowcher
2018/09/04 全球购物
有关骆驼祥子的读书笔记
2015/06/26 职场文书
互联网的下一个风口:新的独角兽将诞生
2019/08/02 职场文书