前言

多年前我本是个服务端小白,随着行业内卷,硬是被熬成了前端小白。。。开个玩笑,只是个人比较喜欢学习技术罢了!本章将带领大家以另一个高端的方式打开阿里Iconfont图标库,过去,我们要么是自己在网上费好大劲,东拼西凑的找一些icon的图片,来美化我们的网页,然而随着技术的发展,和一些大平台的技术奉献,这里不得不说阿里还是牛逼,这里不是夸它,给它打广告,确实,人家在一些领域做的比某腾要好,可能也和领域有关吧,受我个人认知水平问题,我也只能这么认为,比如在我门JAVA服务端方向,阿里有Nacos、Canal、RocketMQ、Dubbo、Sentinel等一些开源技术。回归正题。看标题本章内容是围绕VUE前端和阿里Iconfont图标库展开的,经历了从网站上东拼西凑图标的时代,大概是15~16年左右我开始解除阿里Iconfont图标库,刚开始就只会下载图标使用,如下

这种直接就是下载的图片,还是比较lol,后面随着前端技术的学习,直到写uniapp的时候,开始学会使用图标文件应用

这种如果频繁更改的图标那么也需要频繁从新下载图标文件,从新导入,比较麻烦,那么本章将以在线引入阿里Iconfont图标库的方式动态加载,这种方式可以不用下载icon图标,也不用下载icon图标文件,个人感觉最方便的就是可以动态更新图标库!而且就算我们把阿里Iconfont图标库中的项目组删除,只要生成过连接的,那么项目中还是可以使用的,但是不知道连接回收时间是多久!

开干Iconfont

官网
Iconfont

挑选图标

添加至项目

获取链接


那么至此Iconfont平台相关操作完毕,接下来是VUE方便的操作

在线调用测试

index.html引入连接

<link rel="stylesheet" href="//at.alicdn.com/t/font_2872687_x5kgx7w5eth.css">

界面使用

<i class="iconfont icon-3column"></i>

效果查看

测试完毕!

VUE项目整合

编写添加head工具

/*** 动态插入css*/export const loadStyle = url => {const link = document.createElement('link')link.type = 'text/css'link.rel = 'stylesheet'link.href = urlconst head = document.getElementsByTagName('head')[0]head.appendChild(link)
}

这个就是帮我们在head添加link标签的,效果如下

main配置
导入加载link工具

import { loadStyle } from './utils/util'

初始化iconfont连接

let iconfontVersion = ['2872417_3u9w2bdk2b'];
const iconfontUrl = `//at.alicdn.com/t/font_$key.css`这里为什么使用$key是因为如果我们有多个icon项目,那么我们可以iconfontVersion数组中多个添加即可

编写替换$key连接方法,并调用添加link工具方法

// 动态加载阿里云字体库
iconfontVersion.forEach(ele => {console.log(iconfontUrl.replace('$key', ele))loadStyle(iconfontUrl.replace('$key', ele))
})

完整代码

图标使用

      <i class="iconfont icon-3column"></i><i class="iconfont icon-column-4"></i>

效果展示

这里我们i标签中需要固定写iconfont,那么我们可以优化一下

优化iconfont
理论上我们使用iconfont图标那么icon-3column、icon-column-4都是以icon-为前缀的,那么我们可以使用css匹配来做css叠加!
编写common.scss文件,代码如下


// 关于 图标 CSS 的设置
[class^="icon-"] {font-family: "iconfont" !important;/* 以下内容参照第三方图标库本身的规则 */font-size: 18px !important;font-style: normal;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;
}.avue-input-icon__item i, .avue-crud__icon--small {font-family: "iconfont" !important;/* 以下内容参照第三方图标库本身的规则 */font-size: 24px !important;font-style: normal;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;
}.el-menu-item [class^=icon-] {margin-right: 5px;width: 24px;text-align: center;font-size: 18px;vertical-align: middle;
}.el-submenu [class^=icon-] {vertical-align: middle;margin-right: 5px;width: 24px;text-align: center;font-size: 18px;
}

全局引用
main文件中写入

import './styles/common.scss'

效果查看

搞定

彩蛋

如果我们要做系统图标展示,如下效果!

那么我们就要将我们选择的图标库的图标代码复制下来,一两个还好,当我们多了是不可能手动复制的,那么我这里提供一个脚本供大家使用!

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>获取阿里iconList</title><script type="text/javascript" src="http://static.runoob.com/assets/jquery/2.0.3/jquery.min.js"></script>
</head>
<body id="body">
<a target="_blank" href="https://blog.csdn.net/CSDN877425287/article/details/120806405">请结合VUE在线调用阿里Iconfont图标库这篇文章使用</a>
<br>
<textarea cols="100" rows="30" id="biao1"></textarea>
<br>
<input type="button" onClick="copyList()" value="点击复制代码"/>
<p>复制完了粘贴到iconList文件中</p>
<script type="text/javascript">let iconfontVersion = ['2872687_x5kgx7w5eth', '667895_v7uduh4zui'];let iconfontVersionName = ['我的库', '你的库'];let iconfontUrl = `http://at.alicdn.com/t/font_$key.css`;let taskList = [];let construction = {label: "",list: []}const iconReg = /(icon-.+?)(?=:)/igfunction sendRequest(path) {return new Promise(function (resolve) {var xmlHttp = new XMLHttpRequest();//2.为引擎对象绑定监听事件xmlHttp.onreadystatechange = function () {//当状态变化时处理的事情if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {//5.接收响应信息var datas = xmlHttp.responseText;resolve(datas);}}xmlHttp.open("GET", path, true);xmlHttp.send();});}async function start() {for (let i = 0; i < iconfontVersion.length; i++) {var path = iconfontUrl.replace("$key", iconfontVersion[i])var data = await sendRequest(path);//console.log(data)var matchAllData = data.matchAll(iconReg)var fromIcon = Array.from(matchAllData, x => x[0])var construction = {label: iconfontVersionName[i],list: fromIcon}taskList.push(construction)}var taskListStr=JSON.stringify(taskList)var replaceLabel = taskListStr.replaceAll('"label"', 'label')var replaceList = replaceLabel.replaceAll('"list"', 'list')console.log(replaceList)document.getElementById("biao1").innerHTML = replaceList;}function copyList() {var Url2 = document.getElementById("biao1");Url2.select(); // 选择对象document.execCommand("Copy"); // 执行浏览器复制命令alert("已复制好,粘贴到iconList文件中。");}start();</script></body></html>

代码放到html文件中,然后运行即可

VUE在线调用阿里Iconfont图标库相关推荐

  1. uni-app 引入线上的阿里 iconfont图标库

    小程序的代码包不能超过4M,为了压缩代码包的大小,可以通过第三方链接引入图标资源 iconfont 无疑是最常用的第三方图标库,这里介绍一下在微信小程序引入 Iconfont 的方法 在App.vue ...

  2. 接入阿里iconfont图标库详细教程

    1:注册账号 点击链接进入阿里iconfont官网,用手机号注册并登录. 2:创建项目 2.1:选择资源管理-我的项目 2.2:点击新建项目,填写项目名,其他的默认选择,点击新建即可. 2.4:也可以 ...

  3. 微信小程序中如何使用阿里iconfont图标库

    iconfont官网 1.将自己需要使用的小图标加入购物车 2.在购物车中添加至项目, 点击查看样式在线链接 3.上图链接在浏览器中打开 4.在小程序创建font.wxss文件(文件名可随意起名),将 ...

  4. vue项目中如何使用阿里 iconfont图标

    先登录阿里 iconfont 图标库:https://www.iconfont.cn/ 1.选择需要的图标添加到购物车中 2.在资源管理里面 --我的项目: 添加新项目 这样的话就会永久保存了. 3. ...

  5. vue框架项目中使用阿里矢量图标库

    vue框架项目中使用阿里矢量图标库 一.打开阿里矢量图标,将需要图标加入购物车,选择下载代码 二.解压缩包,将解压缩后的 文件夹放入项目文件夹下的src/assets 1.在main.js中引入css ...

  6. Vue项目中,引入阿里矢量图标库

    Vue项目中,引入阿里矢量图标库 (1)阿里矢量图标库地址(需要登录): https://www.iconfont.cn (2)找到自己心仪的图标: (3)添加入库: (4)点击购物车图标(免费的哦) ...

  7. vue项目中使用阿里iconfont图标(下载并在本地引用)

    vue项目中使用阿里iconfont图标(下载并在本地引用) step1 step2 step3 在scr/asstets/css目录下新建icons文件夹,把图中所需要的四个文件放进去即可 记得在m ...

  8. Hexo-使用阿里iconfont图标

    Hexo-使用阿里iconfont图标 Hexo系列文章已经完成上传: 一.Hexo准备-Node.js.Vue 二.Hexo.主题.部署上线 三.Butterfly美化 四.Hexo之更换背景及透明 ...

  9. uniapp 引入阿里矢量图标库的详细步骤及踩坑经历

    uniapp 引入阿里矢量图标库的详细步骤及踩坑经历 首先在阿里矢量图标库选择自己喜欢的图标 加购物车如下图 点击右上角的购物车 添加到项目 这里有坑 首先你不选中在线链接 你是看不到 @font-f ...

最新文章

  1. activiti no processes deployed with key
  2. 牛腩发布没有Internet 信息服务(IIS)管理器解决办法
  3. cordova切换到安卓5.1.0,Android SDK not found
  4. Boost:双图bimap的范围标准方式的测试程序
  5. 结合html和css制作页面的布局结构,CSS Div网页布局中的结构与表现
  6. Android图片上传和下载,android 上传/下载 图片
  7. leetcodepython_LeetCode 答案(python)1-17
  8. php解析、封装JSON与XML
  9. 在局域网中用联通的3G无线上网卡后的静态路由的命令行
  10. Debian 配置Bind9 DNS服务器
  11. [Swift]SwiftyJSON的使用:解析JSON
  12. 音创linux版e100加歌,【图片】音创高清点歌机E100-3D版 火爆上市 现将资料爆出_点歌机吧_百度贴吧...
  13. c语言 iostream,C语言 我应该在哪里使用iostream类?
  14. 程序员的Win10必备软件
  15. android手机品牌排行,智能手机品牌排行榜2019前十名
  16. 拿到腾讯 offer 的第二天,我从字节跳动离职了
  17. PS照片美化处理实例教程
  18. 电脑无法搜索到蓝牙耳机解决办法
  19. webdriver.Chrome.set_network_conditions:Chrome网络仿真设置。
  20. 电脑插了两根内存条只读出来一根,另一条是为硬件保留的内存空间

热门文章

  1. 一个转贴,关于算命和命运的
  2. Ubuntu18.04安装opencv和opencv_contrib(详细步骤及常见问题解决)
  3. iframe嵌入第三方视频链接自动播放
  4. 奋斗吧,程序员——第二十五章 酒酣胸胆尚开张,鬓微霜,又何妨
  5. 国产网管软件的本土化及其发展
  6. 如何使用finalshell
  7. FastDfs安装,根据不同项目存放文件到不同目录
  8. 数据结构--宿舍管理查询软件
  9. Win10预览版系统下载:中文简体64位ISO下载
  10. 2020-11-08 Windows应用程序设计作业(Python版实现)(一)简单语法