iconfont本地引入

news/2025/2/26 20:08:07/文章来源:https://www.cnblogs.com/zlli/p/18739016

本地引入iconfont的好处

Butterfly主题自带的Font Awesome图标库免费版里有好多图标没有,而阿里巴巴的开源图标iconfont里的图标非常丰富,所以可以同时引入一下iconfont图标作为Font Awesome图标库的补充。

考虑到在线引入的icon图标大小都是16x16的,而Font Awesome图标一般都是*x19的,所以看起来iconfont的图标会小一点,比如这样:

iconfont图标较小

而影响iconfont图标大小的参数是iconfont.css里的font-size,所以可以将整个项目iconfont下载下来本地引入,从而实现对其图标的自定义修改。

font-size

例如我想把这个gitee的图标改大一点,就可以这样:

修改icon大小

如何本地引入iconfont

下载iconfont文件

选好自己需要的图标并添加到购物车后,可以新建一个项目并在这个项目中看到自己刚刚添加的所有图标。点击下载至本地

下载iconfont文件

解压后可以看到这些文件,其中框住的四个文件是我们需要的。

iconfont文件

在主题中配置

然后把这些文件都放到\hexo\themes\butterfly\source\css路径下

iconfont本地引入路径

{% note danger flat %}

这里只能放到css路径下,放到子路径下会读不出来,具体见Hexo踩坑。

{% endnote %}

最后在主题的_config.yml文件的参数inject处引入一下iconfont就完成了。

配置iconfont引入

如何让iconfont的图标旋转

我想让iconfont图标像Font Awesome图标一样鼠标放上去会旋转。

旋转动效

很简单,在iconfont.css中想旋转的图标后面新增这个就行。

.icon-gitee:hover {display: inline-block;transform: rotate(180deg);
}
新增hover

如何单独定制某个图标

  1. 如果我不想让某个图标旋转,可以新增一个类修改一下名称,然后引入的时候使用新类即可。

<i class="iconfont icon-gitee1"></i>

.icon-gitee:before {content: "\e60c";font-size: 20px;
}
# 新增
.icon-gitee1:before {content: "\e60c";font-size: 20px;
}
  1. 如果我想让某个图标大小改变,可以采取上面的方法新建一个类修改font-size属性,也可以在引入时添加style并新增zoom属性。

<i class="iconfont icon-gitee1" style="zoom: 80%"></i>

如何使用彩色图标

使用Unicode Font Class渲染的图标都是灰黑色,只有使用Symbol才是彩色图标。
下文源自iconfont的demo_index.html。

Symbol 引用


这是一种全新的使用方式,应该说这才是未来的主流,也是平台目前推荐的用法。相关介绍可以参考这篇文章 这种用法其实是做了一个 SVG 的集合,与另外两种相比具有如下特点:

  • 支持多色图标了,不再受单色限制。
  • 通过一些技巧,支持像字体那样,通过 font-size, color 来调整样式。
  • 兼容性较差,支持 IE9+,及现代浏览器。
  • 浏览器渲染 SVG 的性能一般,还不如 png。

使用步骤如下:

第一步:引入项目下面生成的 symbol 代码:

<script src="./iconfont.js"></script>

第二步:加入通用 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-xxx"></use>
</svg>

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

powershell-alias配置方案

最近实在被git命令和poetry命令搞烦了,每次都要输入好长的命令,并且都差不太多,所以就搜索了怎么配置alias,下面是我的配置过程,主要资料来自[1]。配置 因为我用的是Windows Terminal,主要使用的Powershell环境,所以一下教程主要是以Powershell为例,配置的Alias主要是关…

leetcode hot 13

解题思路:本题思路主要是前缀和思想,涉及到子集和问题,前缀和思想有效,两个前缀和的差就等于对应一个子集和。本题可以用哈希表的方式记录每个前缀和的值,核心依靠k = pre[j]-pre[i]转化成pre[j]-k=pre[i],计算pre[i]这个值出现的个数加到res中,最后返回。 class Solutio…

redis - [10] 持久化

redis是一个内存数据库,断电即失。需要持久化到磁盘中。 001 || RDB 在执行的时间间隔内将内存中的数据集快照写入到磁盘(快照),恢复时是将快照文件直接读到内存中。 Redis会单独创建(fork)一个子进程进行持久化,会先将数据写入到一个临时文件中,待持久化过程都结束了…

小红书独立开发大赛:让你的宝藏应用被更多人看到

无论你是业余在做一款 passion project 的 builder,还是试图 bootstrapping 自己造血的小团队。小红书发起的首届独立开发大赛都值得你关注。最近越来越多的社区开发者说,他们会选择在小红书冷启动自己的项目,因为这里能获取到友善的初期反馈和精准的早期用户。这些反馈和用…

博客作业:软件缺陷分析与二次开发实践(图书管理系统)

(1)来源 本次分析的代码来源于网络上的一个C++书籍购买系统项目。该项目模拟了不同用户类型(如会员、贵宾、学生等)购买书籍时的折扣计算和购买记录保存功能。原始代码虽能运行,但存在一些设计缺陷和潜在问题。 (2)运行环境+运行结果截图 运行环境: 环境:Windows 11 +…

博客添加看板娘

{% note info flat %} 本文转载自偷掉月亮的阿硕,本博客看板娘基于该教程搭建。 文章作者: 偷掉月亮的阿硕 文章链接: https://moonshuo.cn/posts/16544.html {% endnote %}

预祝2025省选嗨翻天

预祝2025省选嗨翻天\(T1\) A. 单峰序列 \(8pts\)部分分\(8pts\) :枚举每个数在单峰序列的左边还是右边,求次数做法同 luogu P3531 [POI 2012] LIT-Letters 。点击查看代码 int a[500010],b[500010],c[500010],ans[500010],id; vector<int>l,r; struct BIT {int c[50001…

配置github图床+picgo-core上传+jsdelivr

GitHub图床GitHub图床部分参考自教程Github图床+PicGo+JsDelivr+imgbot+automerge-action.imgbot图片压缩图片压缩部分参考自教程Github图床+PicGo+JsDelivr+imgbot+automerge-action.automerge-action最新版地址https://github.com/marketplace/actions/merge-pull-requests-a…

让博客在关键日子弹窗-变灰-放烟花

本文大体上参考自[1],新增了放烟花功能。前置教程 参见[1:1]。 {% note warning flat%}SweetAlert库应该在day.js和lunar.js前面引入!{% endnote %} 放烟花实现SweetAlert2库[2],支持弹窗含有图片,也就是可以弹窗一个放烟花的gif,当然你也可以使用html的visible属性来可视化…

2025中国十大HR SaaS厂商,企业应该如何选择最佳合作伙伴

人力资源软件供应商的价值已远超工具范畴——它们是组织能力的“放大器”、管理革命的“催化剂”。在数字化转型中,企业通过与其深度合作,不仅能实现运营效率的指数级提升,更将人力资本转化为战略资产,构建起适应AI时代的核心竞争力。选择与怎样的供应商同行,将直接决定企…

redis - [09] redis.conf详解

题记部分 配置文件unit单位对大小写不敏感。可以将多个配置文件配置进来绑定ip保护模式 & 端口守护进程,默认是no,需要改成yes如果需要后台运行,需要制定进程文件(pid)指定日志级别,生产环境默认notice。logfile: 日志文件位置名配置数据库的数量,默认16个是否总是…