欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

详解CSS中iconfont的使用

程序员文章站 2022-12-01 09:31:26
这篇文章主要介绍了详解CSS中iconfont的使用,阿里巴巴的iconfont库非常有人气,同时也介绍了iconfont的一些缺点,需要的朋友可以参考下... 15-08-04...

初识iconfont

就算我们一开始不懂这个英文不懂是干嘛的,对于iconfont,英文从后往前读应该叫做:字体图标。这里面已经包含两个概念,首先必须是字体,第二,就是图标。我们都知道网页中的字体我们可以控制大小、样式、变形、拉伸、默认字体等属性,所以这个iconfont必须是以文字嵌入到样式中,所以想到的必须是font;既然是图标那么它就必须有一个路径来引入进来,首先我们一开始想到的img这个标签,既然又是文字又是图标,我们能想到的就只有这个@font-facecss3属性。

还有这个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 格式定义的字体。如果是自己制作的话,可能要头疼死