当前位置:   article > 正文

Vue项目中使用fontawesome图标库_font-awesome-icon

font-awesome-icon
  1. 使用npm安装核心包,它包含了让图标工作的所有实用工具

npm i --save @fortawesome/fontawesome-svg-core
  1. 安装vue-fontawesome组件库,Vue2.x和Vue3.x稍微有所不同

  1. # Vue2.x
  2. npm i --save @fortawesome/vue-fontawesome@latest-2
  3. # Vue3.x
  4. npm i --save @fortawesome/vue-fontawesome@latest-3
  1. 以上环境安装完成后,开始安装所需要的图标库

fontawesome的图标有免费版和专业版,本文主要使用的是free版本,一般free版本的图标足够用了,free图标又划分为三个图标库,主要有实心图标(solid)、常规图标(regular)以及品牌图标(brand),根据需求去下载对应的图标库,无须全部下载

  1. npm i --save @fortawesome/free-solid-svg-icons
  2. npm i --save @fortawesome/free-regular-svg-icons
  3. npm i --save @fortawesome/free-brands-svg-icons
  1. Vue项目中导入整个样式

fontawesome的图标也是分为全部导入和按需导入,如果您在一种样式中使用大量图标,则可以导入整个样式 - 但不推荐,因为它可能是数千个图标。导入方法:在src/main.js或src/main.ts文件中导入fontawesome的内核、组件以及刚才所下载的图标库,

  1. /* import the fontawesome core */
  2. import { library } from '@fortawesome/fontawesome-svg-core'
  3. /* import font awesome icon component */
  4. import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome'
  5. /* import all icons, solid图标库的包名为fas、regular图标库的包名为far、brands图标库的包名为fab */
  6. import { fas } from '@fortawesome/free-solid-svg-icons'
  7. // import { far } from '@fortawesome/free-regular-svg-icons'
  8. // import { fab } from '@fortawesome/free-brands-svg-icons'
  9. /* add icons to the library */
  10. library.add(fas)
  11. /* add font awesome icon component */
  12. Vue.component('font-awesome-icon', FontAwesomeIcon)

现在,你可以在Vue项目的任何组件中使用fontawesome, fontawesome提供的是矢量图标,你可对图标样式进行改写, 下面的代码中我导入的是brands图标

  1. <template>
  2. <div class="brand-icon">
  3. <a><font-awesome-icon icon="fa-brands fa-qq"/></a>
  4. <a><font-awesome-icon icon="fa-brands fa-weixin"/></a>
  5. <a><font-awesome-icon icon="fa-brands fa-github"/></a>
  6. </div>
  7. </template>
  8. <script>
  9. export default {
  10. }
  11. </script>
  12. <style scoped>
  13. .brand-icon {
  14. display: flex;
  15. justify-content: center;
  16. }
  17. .brand-icon a {
  18. height: 46px;
  19. width: 46px;
  20. display: flex;
  21. justify-content: center;
  22. align-items: center;
  23. margin: 0 0.45rem;
  24. color: #ceb4b4;
  25. background-color: #257979;
  26. border-radius: 50%;
  27. border: 1px solid #333;
  28. text-decoration: none;
  29. font-size: 1.1rem;
  30. transition: 0.3s;
  31. }
  32. </style>

代码结果展示:

  1. Vue组件中按需导入

如果你在项目中用到的图标较少,并且希望在打包的时候不占用资源,那么你可以按需导入,你应该所使用图标的组件中这样写

  1. import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome'
  2. import { library } from '@fortawesome/fontawesome-svg-core'
  3. import { faWeixin, faQq, faGithub } from '@fortawesome/free-brands-svg-icons'
  4. library.add(faWeixin, faQq, faGithub)
  5. export default {
  6. name: 'components',
  7. components: {
  8. FontAwesomeIcon
  9. }
  10. }

导入对应的图标后,添加到library中,并注册组件即可使用导入的图标了, 使用方法一样

  1. <div class="other-login">
  2.   <a><font-awesome-icon icon="fa-brands fa-qq"/></a>
  3.   <a><font-awesome-icon icon="fa-brands fa-weixin"/></a>
  4.   <a><font-awesome-icon icon="fa-brands fa-github"/></a>
  5. </div>
  1. 如何查询所需要的图标

进入官网后,点击导航栏的搜索图标,输入制定图标名称,注意搜索内容仅支持英文检索

查到图标后点击进入,选择Vue样式粘贴后即可使用,但使用前应按照上面的方法先导入相应的图标,导入时图标的名称应和查询到图标名称相同,但要转化为小驼峰,如fa-weixin导入应写为faWeixin

  1. 如果你想了解更多高级应用请进入官方文档Font Awesome

  1. 进入Vue.js专栏即可查看更多操作

不足之处请多指教!!!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/blog/article/detail/48952
推荐阅读
相关标签
  

闽ICP备14008679号