iconfont 的使用方法

iconfont 常用的方法有两种:一种是直接下载到本地,另一种是使用远程链接。

直接下载到本地

把 iconfont 下载到本地,然后把整个文件夹放到自己的项目中。

iconfont 有三种引用方式:Unicode,Font class,Symbol。

Unicode 引用

Unicode 是字体在网页端最原始的应用方式,特点是:

  • 兼容性最好,支持 IE6+,及所有现代浏览器。
  • 支持按字体的方式去动态调整图标大小,颜色等等。
  • 但是因为是字体,所以不支持多色。只能使用平台里单色的图标,就算项目里有多色图标也会自动去色。

Unicode 使用步骤如下:

第一步:在项目里引入下载下来的 iconfont.css 文件

第二步:将 Unicode 编码应用于页面

<span class="iconfont">&#x33;</span>

使用 Unicode 字体的时候用到的是 iconfont.css 里的:@font-face 和 .iconfont。

font-class 引用

font-class 是 Unicode 使用方式的一种变种,主要是解决 Unicode 书写不直观,语意不明确的问题。

与 Unicode 使用方式相比,具有如下特点:

  • 兼容性良好,支持 IE8+,及所有现代浏览器。
  • 相比于 Unicode 语意明确,书写更直观。可以很容易分辨这个 icon 是什么。
  • 因为使用 class 来定义图标,所以当要替换图标时,只需要修改 class 里面的 Unicode 引用。
  • 不过因为本质上还是使用的字体,所以多色图标还是不支持的。

使用步骤如下:

第一步:在项目里引入下载下来的 iconfont.css 文件

第二步:将类名应用于页面

<span className="iconfont icon-lixian1"></span>

整个 iconfont.css 文件里的内容都会用到。

Symbol 引用

这是一种全新的使用方式,应该说这才是未来的主流,也是 iconfont.cn 平台目前推荐的用法。这种用法其实是做了一个 SVG 的集合,与另外两种相比具有如下特点:

  • 支持多色图标了,不再受单色限制。
  • 通过一些技巧,支持像字体那样,通过 font-sizecolor 来调整样式。
  • 兼容性较差,支持 IE9+,及现代浏览器。
  • 浏览器渲染 SVG 的性能一般,还不如 png。

使用步骤如下:

第一步:在项目里引入下载下来的 symbol 代码

<script src="./iconfont.js"></script>

第二步:加入通用 CSS 代码(引入一次就行)

<style>
.icon {
  width: 1em;
  height: 1em;
  vertical-align: -0.15em;
  fill: currentColor;
  overflow: hidden;
}
</style>

第三步:将类名应用于页面

<svg class="icon" aria-hidden="true">
  <use xlink:href="#icon-xxx"></use>
</svg>

使用远程链接

Unicode 方式

在 iconfont.cn 网站添加完图标以后生成远程链接

注意:在添加完新的 icon 后别忘了刷新远程链接。

然后在项目的 css 中添加如下代码(@font-face 就是复制的远程链接内容):

@font-face {
    font-family: 'iconfont';  /* project id 989382 */
    src: url('//at.alicdn.com/t/font_989382_9tygr.eot');
    src: url('//at.alicdn.com/t/font_989382_9tygr.eot?#iefix') format('embedded-opentype'),
    url('//at.alicdn.com/t/font_989382_9tygr.woff2') format('woff2'),
    url('//at.alicdn.com/t/font_989382_9tygr.woff') format('woff'),
    url('//at.alicdn.com/t/font_989382_9tygr.ttf') format('truetype'),
    url('//at.alicdn.com/t/font_989382_9tygr.svg#iconfont') format('svg');
  }

.iconfont {
    font-family: 'iconfont' !important;
    font-size: 16px;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    -webkit-text-stroke-width: 0.2px;
    -moz-osx-font-smoothing: grayscale;
}

然后开始使用

<span class="iconfont">&#xe8ab;</span>

 

 

 

 

 

 

发布了122 篇原创文章 · 获赞 87 · 访问量 52万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章