阿里图标iconfont彩色图标显示黑白色的解决方法

今天使用阿里图标 iconfont 时发现彩色的图标都变成黑色或者白色了。

原来 iconfont.css 只能设置纯色的图标,要想使彩色图标,需要使用 svg (symbol)模式 Unicode。方法如下:

symbol 引用

这是一种全新的使用方式,应该说这才是未来的主流,也是平台目前推荐的用法。相关介绍可以参考这篇文章 这种用法其实是做了一个svg的集合,与上面两种相比具有如下特点:

  1. 支持多色图标了,不再受单色限制。

  2. 通过一些技巧,支持像字体那样,通过font-size,color来调整样式。

  3. 兼容性较差,支持 ie9+,及现代浏览器。

  4. 浏览器渲染 svg 的性能一般,还不如png。

使用步骤如下:

第一步:拷贝项目下面生成的symbol代码:

//at.alicdn.com/t/font.js

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

<style type="text/css">
    .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>

这里的 xlink: href ="#阿里图标复制的类名" 。点击项目的 Symbol 标签,复制代码。

inconfont.png 阿里图标iconfont彩色图标显示黑白色的解决方法 经验总结

这样就可以正常显示了。


推荐阅读:

Vue.js学习笔记——项目目录结构

phpsStorm实现打开*.jsp文件代码高亮和代码格式化

Discuz X3.4 MySQL数据库连接问题的解决方法

利用CSS设置图片黑白/灰色效果,同时适用于整站变灰

WDLinux故障 Linux系统网站数据备份笔记

赞 (0)
分享到: +

评论 3

Avatar

换个身份

  • 昵称 (必填)
  • 邮箱 (选填)
  1. #2
    访客
    想问一下拷贝项目下面生成的symbol代码 放在哪里啊?
    访客 4年前 (2019-12-19)回复 取消评论
  2. #1
    访客
    最后的'#'不可以去掉,'#'后面的内容才是图标代码
    访客 4年前 (2019-12-09)回复 取消评论