iconfont的使用
font-class引用
特点
- 兼容性良好,支持ie8+,及所有现代浏览器。
- 使用class来定义图标,替换图标时,只需要修改class里面的unicode引用。
- 本质上是使用字体,所以多色图标不支持。
使用方法
-
网络引用
-
第一步:拷贝项目下面生成的fontclass代码:
//at.alicdn.com/t/font_8d5l8fzk5b87iudi.css
-
第二步:挑选相应图标并获取类名,应用于页面:
<i class="iconfont icon-xxx"></i>
-
-
本地引用
-
第一步:将项目下载到本地,通过以下方式进行引入:
<style> @import '../../assets/font/iconfont.css'; </style>
-
第二步:挑选相应图标并获取类名,应用于页面:
<i class="iconfont icon-xxx"></i>
-
symbol引用
特点
- 支持多色图标。
- 支持像字体那样,通过font-size,color来调整样式。
- 兼容性较差,支持 ie9+,及现代浏览器。
- 浏览器渲染svg的性能一般,还不如png。
使用方法
-
网络引用(配合 ant-design 组件库)
-
第一步:拷贝项目下面生成的symbol代码:
//at.alicdn.com/t/font_8d5l8fzk5b87iudi.js
然后打开
main.js
添加以下内容:const IconFont = Icon.createFromIconfontCN({ scriptUrl: '//at.alicdn.com/t/font_2012018_uepygac1qqq.js', }); Vue.component("IconFont", IconFont);
-
第二步:加入通用css代码(引入一次就行):
<style type="text/css"> .icon { width: 1em; height: 1em; vertical-align: -0.15em; fill: currentColor; overflow: hidden; } </style>
-
第三步:挑选相应图标并获取类名,应用于页面:
<IconFont class="icon-btn" type="icon-express" />
-
-
本地引用
-
提前安装依赖
css-loader
-
从 iconfont 上将项目下载到本地,讲一下五个文件放入同一文件夹后放入
assets
文件夹。iconfont.css iconfont.eot iconfont.js iconfont.svg iconfont.woff
-
引入 css 和 js 文件
引入 css
<style> @import '../../assets/images/font/iconfont.css' </style>
引入 js
<script> import '../../assets/images/font/iconfont.js' </script>
-
加入通用 css 代码
.icon { vertical-align: -0.15em; fill: currentColor; overflow: hidden; margin:0 auto;/*px*/ width: 63px; height: 63px; }
-
使用如下代码添加 iconfont 元素
<svg class="icon" aria-hidden="true"> <use :xlink:href="#icon-shouyekuang-"></use> </svg>
-
动态创建方法(本地引用)
前三步和使用方法(本地引用)相同。
-
动态添加 iconfont 元素
<script> let svgns = "http://www.w3.org/2000/svg"; let xlinkns = "http://www.w3.org/1999/xlink"; let icon = document.createElementNS(svgns, "svg"); icon.setAttribute("aria-hidden", true); let use = document.createElementNS(svgns, "use"); use.setAttributeNS(xlinkns, "href", "#icon-emo"); icon.appendChild(use); document.body.appendChild(icon) </script>
注意:icon-emo (图标代码)前面需要带
#