当前位置: 首页 > news >正文

在原有的iconfont.css文件中加入新的字体图标

前言:在阿里图标库中,如果你没有这个字体图标的线上项目,那么你怎么在本地项目中的原始图标文件中添加新的图标呢?

背景:现有一个vue项目,下面是这个前端项目的字体图标文件。现在需要新开发功能页,我需要往里面新增字体图标,怎么新增?

在这里插入图片描述

解决方式

  1. 在阿里图标库中建一个字体图标项目,并在图标项目内添加你想新增的字体图标,然后点击【下载至本地】。
    在这里插入图片描述
  2. 打开或解压刚下载的压缩包。把iconfont.ttf, iconfont.woff, iconfont.woff2三个文件复制到项目的字体图标文件目录下,当然你得改一下这三个文件名,因为本地项目字体文件跟你刚刚下载的字体文件名称一样。比如我改成了:iconfont-dzzz.ttf, iconfont-dzzz.woff, iconfont.woff2 。
    在这里插入图片描述
  3. 接着你就得在vue项目的字体文件iconfont.css文件中添加这么一段代码:
@font-face {font-family: "iconfont"; /* Project id 2791406 */src: url('./iconfont-dzzz.woff2?t=1656658266061') format('woff2'),url('./iconfont-dzzz.woff?t=1656658266061') format('woff'),url('./iconfont-dzzz.ttf?t=1656658266061') format('truetype');
}

下图是我本地项目中的iconfont.css文件中的样子:
在这里插入图片描述
4. 接着你还得在iconfont.css文件的末尾添加新字体图标对应的伪类。如下图,其中,打马赛克的是你将要在html代码中使用的字体图标class类名,content的值就是字体图标对应的unicode索引。
在这里插入图片描述
unicode索引在iconfont.css文件中可以找到:
在这里插入图片描述
那么这样你就成功在原有字体图标库中添加了新的字体图标了。接下来你就可以使用你添加的字体图标了。

字体文件知识

在阿里字体图标文件夹中有很多字体文件:CSS、JS、JSON、TTF、WOFF、WOFF2 等。

这些文件有啥用?

CSS 文件用于定义图标字体的样式和类。它包含了 @font-face 规则,引入字体文件,以及每个图标对应的 Unicode 字符。CSS 文件使得在 HTML 中使用图标变得简单直观。

JS 文件可能用于动态加载字体文件,处理字体图标库的某些功能,或与其他前端框架集成。JS 文件在某些情况下用于增强字体图标的功能,比如动态替换图标、添加动画效果等。

JSON 文件包含图标库的元数据,例如图标名称、Unicode 字符编码和其他相关信息。它常用于自动化工具或构建系统,帮助开发者快速查找和引用图标。

TTF (TrueType Font) 文件是 TrueType 字体格式,兼容性较好,适用于较老的浏览器和系统。它是图标字体的一个基础格式。

WOFF (Web Open Font Format) 文件是一种为网页优化的字体格式,具有良好的压缩和加载性能。它在现代浏览器中广泛使用,提供了比 TTF 更好的性能。

WOFF2 是 WOFF 的改进版本,具有更高的压缩率和更快的加载速度。它是目前最优化的网页字体格式,但需要现代浏览器的支持。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【OnlyOffice】桌面应用编辑器,插件开发大赛,等你来挑战
  • Qt提升控件失败的解决办法
  • PCDN技术如何提高内容分发效率?(贰)
  • vue3长列表优化,使用vue-virtual-scroller实现直播间弹幕列表虚拟滚动效果
  • VitePress美化
  • webSocket网页通信---使用js模拟多页面实时通信
  • Flink,spark对比
  • Python爬虫之什么是逆向工程?逆向是什么?
  • 实现原理:远程过程调用(RPC)
  • Postman编写测试脚本
  • mybatis-plus参数绑定异常
  • 解析Java中1000个常用类:Date类,你学会了吗?
  • 【Unity2D 2022:Particle System】添加命中粒子特效
  • React 中 useEffect
  • JAVA每日作业day7.4
  • 「译」Node.js Streams 基础
  • 【跃迁之路】【477天】刻意练习系列236(2018.05.28)
  • Angular 响应式表单之下拉框
  • classpath对获取配置文件的影响
  • java B2B2C 源码多租户电子商城系统-Kafka基本使用介绍
  • leetcode46 Permutation 排列组合
  • LeetCode541. Reverse String II -- 按步长反转字符串
  • Octave 入门
  • python学习笔记-类对象的信息
  • spark本地环境的搭建到运行第一个spark程序
  • webpack项目中使用grunt监听文件变动自动打包编译
  • 分布式熔断降级平台aegis
  • 前嗅ForeSpider中数据浏览界面介绍
  • 嵌入式文件系统
  • 如何用Ubuntu和Xen来设置Kubernetes?
  • 使用 Xcode 的 Target 区分开发和生产环境
  • 【运维趟坑回忆录 开篇】初入初创, 一脸懵
  • 阿里云重庆大学大数据训练营落地分享
  • 湖北分布式智能数据采集方法有哪些?
  • ​香农与信息论三大定律
  • ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLTr
  • ### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException
  • #LLM入门|Prompt#1.7_文本拓展_Expanding
  • #LLM入门|Prompt#1.8_聊天机器人_Chatbot
  • #pragma pack(1)
  • #多叉树深度遍历_结合深度学习的视频编码方法--帧内预测
  • #职场发展#其他
  • (6)添加vue-cookie
  • (arch)linux 转换文件编码格式
  • (iPhone/iPad开发)在UIWebView中自定义菜单栏
  • (pojstep1.3.1)1017(构造法模拟)
  • (第一天)包装对象、作用域、创建对象
  • (十八)devops持续集成开发——使用docker安装部署jenkins流水线服务
  • (十二)Flink Table API
  • (新)网络工程师考点串讲与真题详解
  • .[backups@airmail.cc].faust勒索病毒的最新威胁:如何恢复您的数据?
  • .NET/C# 使用反射调用含 ref 或 out 参数的方法
  • .NET实现之(自动更新)
  • .net通过类组装数据转换为json并且传递给对方接口
  • @Autowired自动装配