iconfont的使用(最详解)

news2024/12/24 8:52:36

目录

一、Iconfont是什么?

二、Iconfont如何使用

1.官网注册 

2.新建项目

3.项目中使用

Unicode方式

Font class方式

Symbol方式

三、总结


一、Iconfont是什么?

iconfont是阿里旗下的一套图标库,UI设计师设计号图标后,会将图标上传到iconfont的项目库中。前端开发人员需要下载项目图标,并在项目中使用。它的原理就是将很多 icon 做成字体库,通过样式或者字体对应的字符集来显示这个 icon。

二、Iconfont如何使用

1.官网注册 

 iconfont-阿里巴巴矢量图标库

如果你没有账号可以使用手机号注册,当然你也可以 使用三方账号登录,支持github,新浪和微信登录。

2.新建项目

 点击进入资源管理》我的项目 

然后点击右上角加号新建项目,填写项目名称等信息,字体格式根据自己需求点击选择。

新建成功后,我们来给项目添加一些我们需要的图标,去页面顶部搜索自己需要的图标,

你可以选择直接下载图片使用,根据自己需要的颜色大小调整。但是推荐点击添加入库,然后点击右上角购物车图标添加到我们刚才使用的项目。

这样我们在库里就有了这两个图标。

3.项目中使用

ifonfont 可以让我们使用三种方式引入,分别是unicode,font class,symbol,我们点击不同的方式获取代码。下面我说下这三种具体怎么使用。

首先我们将我们字体库下载到本地

我们将这些文件放在项目一个文件夹中,我们只需要以下这些文件

 我们需要将iconfont.css引入到我们的项目中。

第一种:Unicode方式

unicode是字体在网页端最原始的应用方式,我们直接在图标上复制对应的代码即可

<link rel="stylesheet" href="./iconfont/iconfont.css">
<body>
  <i class="iconfont">&#xe642;</i>
</body>

如果你用的是vue,那么你需要在main.ts中引入iconfont.css,其他框架大同小异

import { createApp } from 'vue'
import App from './App.vue'
import '../assets/iconfont/iconfont.css';
app.mount('#app')

unicode特点:

(1)兼容性最好,支持ie6+,及所有现代浏览器。

(2)支持按字体的方式去动态调整图标大小,颜色等等。

(3)但是因为是字体,所以不支持多色。只能使用平台里单色的图标,就算项目里有多色图标也会自动去色。

第二种:Font class方式

font-class是unicode的方式的变种,主要是解决unicode书写不直观,语意不明确的问题。

和unicode一样,我们直接在图标上复制对应的代码即可

<link rel="stylesheet" href="./iconfont/iconfont.css">
<body>
  <i class="iconfont icon-dingwei1"></i>
</body>

与Unicode使用方式相比,具有以下特点

(1)兼容性好,支持IE8+,以及所有现代浏览器

(2)相比于Unicode语意明确,书写更直观

(3)替换图标时,使用class定义图标,所以替换时只需要修改class里面的Unicode引用

(4)本质上还是使用的字体,所以多色图标是不支持的

第三种:Symbol方式

这是一种全新的使用方式,应该说这才是未来的主流,也是平台目前推荐的用法。

我们直接在图标上复制对应的代码即可

<script src="./iconfont/iconfont.js"></script>
<body>
  <svg class="icon" aria-hidden="true">
    <use xlink:href="#icon-dingwei1"></use>
  </svg>
</body>

如果你用的是vue,那么你需要在main.ts中引入iconfont.js,其他框架大同小异

import { createApp } from 'vue'
import App from './App.vue'
import '../assets/iconfont/iconfont.js';
app.mount('#app')

这种用法其实是做了一个 SVG 的集合,与另外两种相比具有如下特点:

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

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

(3)兼容性较差,支持 IE9+,及现代浏览器。

(4)浏览器渲染 SVG 的性能一般,还不如 png。

三、总结

当然我们也可以在线使用这些图标,我们只需复制在线的链接到项目中,模板中的用法和离线是一样的,不建议我们在线使用,稳定性不保证

今天就分享到这里啦!欢迎在评论区交流。如果文章对你有所帮助,❤️关注+点赞❤️鼓励一下博主会持续更新。。。。

我的博客:前端小阳仔_Html,CSS,JavaScript,Vue,React,Angular领域博主

往期回顾

 css实现元素居中的6种方法 

Angular8升级至Angular13遇到的问题

前端vscode必备插件(强烈推荐)

Webpack性能优化

vite构建如何兼容低版本浏览器

前端性能优化9大策略(面试一网打尽)!

vue3.x使用prerender-spa-plugin预渲染达到SEO优化

 vite构建打包性能优化

 vue3.x使用prerender-spa-plugin预渲染达到SEO优化

 ES6实用的技巧和方法有哪些?

 css超出部分显示省略号

vue3使用i18n 实现国际化

vue3中使用prismjs或者highlight.js实现代码高亮

什么是 XSS 攻击?什么是 CSRF?什么是点击劫持?如何防御

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1457741.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

用pandas做简单策略回测

一&#xff0c;RSI策略 数据&#xff1a; 代码 import pandas as pd# 读取贵州茅台股票历史交易数据 df pd.read_csv(贵州茅台股票历史交易数据.csv) missing_values df.isnull().sum()# print("缺失值数量&#xff1a;") # print(missing_values)# 计算RSI指标 …

【LeetCode: 590. N 叉树的后序遍历 + DFS】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

机器学习中梯度下降法的缺点

机器学习中的梯度下降法是一种寻找函数最小值的优化算法&#xff0c;广泛应用于训练各种模型&#xff0c;尤其是在深度学习中。尽管其应用广泛&#xff0c;但梯度下降法也存在一些不可忽视的缺点&#xff1a; 1. 局部最小值和鞍点 局部最小值问题&#xff1a; 对于非凸函数&a…

Rofin罗芬Laser激光DQ80设备操作说明书

Rofin罗芬Laser激光DQ80设备操作说明书

Elasticsearch:什么是 kNN?

kNN - K-nearest neighbor 定义 kNN&#xff08;即 k 最近邻算法&#xff09;是一种机器学习算法&#xff0c;它使用邻近度将一个数据点与其训练并记忆的一组数据进行比较以进行预测。 这种基于实例的学习为 kNN 提供了 “惰性学习&#xff08;lazy learning&#xff09;” 名…

【大模型】大模型基础知识

几个常用术语 模型公式参数 K矩阵&#xff1a;字典 V矩阵&#xff1a;关键字的权重数值 AGI&#xff1a;通用人工智能 分词、词性关联、词性标注、知识图谱。分词操作是AI的开发&#xff0c;但是离AGI越来越远。自注意力机制的核心思想是摒弃分词等操作&#xff0c;面向更通…

机器人初识 —— 电机传动系统

一、背景 波士顿动力公司开发的机器人&#xff0c;其电机传动系统是其高性能和动态运动能力的核心部分。电机传动系统通常包括以下几个关键组件&#xff1a; 1. **电动马达**&#xff1a;波士顿动力的机器人采用了先进的电动马达作为主要的动力源&#xff0c;如伺服电机或步进…

Netty Review - NIO空轮询及Netty的解决方案源码分析

文章目录 Pre问题说明NIO CodeNetty是如何解决的&#xff1f;源码分析入口源码分析selectCntselectRebuildSelector Pre Netty Review - ServerBootstrap源码解析 Netty Review - NioServerSocketChannel源码分析 Netty Review - 服务端channel注册流程源码解析 问题说明 N…

探索AI视频生成新纪元:文生视频Sora VS RunwayML、Pika及StableVideo——谁将引领未来

探索AI视频生成新纪元&#xff1a;文生视频Sora VS RunwayML、Pika及StableVideo——谁将引领未来 sora文生视频&#xff0c;探索AI视频生成新纪元 由于在AI生成视频的时长上成功突破到一分钟&#xff0c;再加上演示视频的高度逼真和高质量&#xff0c;Sora立刻引起了轰动。在S…

vscode 开发代码片段插件

环境准备 node - 20v版本 &#xff0c;推荐使用nvm进行版本控制全局安装 "yo" 是 Yeoman 工具的命令行工具&#xff0c; npm i yo -g全局安装 generator-code 是一个 Yeoman 脚手架 gernerator-code npm i gernerator-code -g全局安装 npm install -g vsce官方文档 …

代码随想录算法训练营第55天 | 309.最佳买卖股票时机含冷冻期 714.买卖股票的最佳时机含手续费

最佳买卖股票时机含冷冻期 股票题做到这地步&#xff0c;可以发现分析每一天的可能状态与状态之间的转换是解决问题的关键。这道题中每一天可以有4种有效状态&#xff1a; 持有股票不持有股票&#xff0c;当天之前就已经卖出了股票不持有股票&#xff0c;当天卖出股票冷冻期状…

数字化转型导师坚鹏:政府数字化转型之数字化新技术解析与应用

政府数字化转型之数字化新技术解析与应用 课程背景&#xff1a; 数字化背景下&#xff0c;很多政府存在以下问题&#xff1a; 不清楚新技术的发展现状&#xff1f; 不清楚新技术的重要应用&#xff1f; 不清楚新技术的成功案例&#xff1f; 课程特色&#xff1a; 有…

计算机视觉的应用23-OpenAI发布的文本生成视频大模型Sora的原理解密

大家好&#xff0c;我是微学AI&#xff0c;今天给大家介绍一下计算机视觉的应用23-OpenAI发布的文本生成视频大模型Sora的原理解密。本文概况性地将Sora模型生成视频主要分为三个步骤&#xff1a;视频压缩网络、空间时间潜在补丁提取以及视频生成的Transformer模型。 文章目录…

专修戴尔R730xd服务器闪电灯 心跳亮黄灯故障

2024年开年第二天接到一个用户反馈说他公司有一台DELL PowerEdge R730xd服务器春节前由于市电问题意外断电关机了&#xff0c;刚好碰上春节就没去开机了&#xff0c;今天工厂开工服务器通电发现开不了机&#xff0c;且机器过了一会后报了2个黄灯错误&#xff0c;如下图&#xf…

【数据结构】每天五分钟,快速入门数据结构(一)——数组

目录 一.初始化语法 二.特点 三.数组中的元素默认值 四.时间复杂度 五.Java中的ArrayList类 可变长度数组 1 使用 2 注意事项 3 实现原理 4 ArrayList源码 5 ArrayList方法 一.初始化语法 // 数组动态初始化&#xff08;先定义数组&#xff0c;指定数组长度&#xf…

书生浦语大模型实战营-课程笔记(5)

LLM部署特点&#xff0c;内存开销大&#xff0c;TOKEN数量不确定 移动端竟然也可以部署LLM。之前以为只能在服务端部署&#xff0c;移动端作为客户端发起请求来调用大模型。 LMDeploy用于模型量化 模型量化&#xff1a;降低内存消耗 推理性能对比 量化主要作用&#xff1a;…

内存计算研究进展-技术架构

内存计算技术是一个宏观的概念&#xff0c;是将计算能力集成到内存中的技术统称。集成了内存计算技术的计算机系统不仅能直接在内存中执行部分计算&#xff0c;还能支持传统以CPU为核心的应用程序的执行。区别于内存计算&#xff0c;存算一体芯片将存储与计算相结合&#xff0c…

MySQL--SQL解析顺序

前言&#xff1a; 一直是想知道一条SQL语句是怎么被执行的&#xff0c;它执行的顺序是怎样的&#xff0c;然后查看总结各方资料&#xff0c;就有了下面这一篇博文了。 本文将从MySQL总体架构—>查询执行流程—>语句执行顺序来探讨一下其中的知识。 一、MySQL架构总览&a…

算法模板 6.并查集

并查集 用于解决连通块问题。 判断集合个数也就是判断p[x] x 的个数 836. 合并集合 - AcWing题库 #include <bits/stdc.h> using namespace std; const int N 1e5 10; int p[N]; // 记录每个元素的father int n, m;int find(int x){ // 查询元素x的fatherif(p[x] …

GPIO控制和命名规则

Linux提供了GPIO子系统驱动框架&#xff0c;使用该驱动框架即可灵活地控制板子上的GPIO。 GPIO命名 泰山派开发板板载了一个40PIN 2.54间距的贴片排针&#xff0c;排针的引脚定义兼容经典40PIN接口。 在后续对GPIO进行操作前&#xff0c;我们需要先了解k3566的GPIO命名规则&a…