Nuxt 项目引入 iconfont 小图标详解
- 首先进入 iconfont 的官网,选取自己想要的图标然后把它们下载到本地,这里我下载的都是svg格式文件。
- 点击 资源管理-我的项目 进入到“我的项目”页面,新建一个项目(如:homepage)
- 然后把你下载的图标加入到项目里面 上传后项目中就有图标啦
- 将选好的图标下载到本地
- 下载好的文件解压后如下所示: 其中有几个是不需要的,比如demo_index.html demo.css
- 将需要的按照分类添加入项目中fonts 里面放字体文件; css 文件夹里面放 css; 文件 js 文件夹里面放 js 文件
- 注意iconfont.css里的文件路径
- 在 nuxt.config.js 文件里添加配置
css: [ @/assets/styles/iconfont.css ], plugins: [ // ssr: Boolean (默认为 true) 如果值为 false,该文件只会在客户端被打包引入 { src: @/assets/js/iconfont.js, ssr: false } ]
- 使用字体图标
① 大家既可以在 html 中以类名的形式使用,也可以在伪类的 content 中使用
<div> <i class="iconfont iconmessage"></i> </div> <style> .nav-btn span:hover { color: #fff; } .nav-btn::before { content: "e603"; font-family: "iconfont"; color: #fff; } </style>
<style> .nav-btn span:hover { color: #fff; } .nav-btn::before { content: "e603"; font-family: "iconfont"; color: #fff; } </style>
② 还可以通过 Symbol 方式引用
- 引入项目下面生成的 js 代码:
👆第9步已配置
- 加入通用 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-phone"></use> </svg>
【总结】:三种使用方式选择其中一种即可,不需要把所有的文件都加入项目中