icomoon字体图标的使用

news2025/1/18 10:58:26

很久之前就学习过iconfont图标的使用,今天又遇到一个用icomoon字体图标写的案例,于是详细学习了一下,现整理如下。

一、下载

1.网址:
https://icomoon.io/#home
2.点击IcoMoon App。
在这里插入图片描述
3.点击 https://icomoon.io/app

在这里插入图片描述
4.进入IcoMoon - Free界面,点击选择需要的图标,可以选择多个。
在这里插入图片描述

5.点击页面右下方“Generate Font”,生成字体。
在这里插入图片描述

6.点击页面右下方“Download”下载。在这里插入图片描述7.下载完成以后,会生成一个icomoon.zip压缩包,解压缩即可。

二、在网页中使用字体图标。

1.网页字体图标效果如下。
在这里插入图片描述
2.目录结构如下。
在这里插入图片描述
3.icomoon.css文件代码如下

/*下面代码是下载的示例css中生成的,因为路径有所改动,css文件放入css文件夹中,所以url中的路径由./改为../*/
@font-face {
  font-family: 'icomoon';
  src:  url('../fonts/icomoon.eot?7qyemc');
  src:  url('../fonts/icomoon.eot?7qyemc#iefix') format('embedded-opentype'),
    url('../fonts/icomoon.ttf?7qyemc') format('truetype'),
    url('../fonts/icomoon.woff?7qyemc') format('woff'),
    url('../fonts/icomoon.svg?7qyemc#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

[class^="icon-"], [class*=" icon-"] {
  /* 使用!important 防止浏览器扩展改变字体的问题*/
  font-family: 'icomoon' !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* 字体渲染效果更好*/
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
span {
  font-size:32px;   /*1.改变字体图标的大小*/
  color:#339f63;     /*2.改变字体图标的颜色*/
  margin-bottom: 10px; 
}
.icon-connection:before {
  content: "\e91b";
}
.icon-bubbles:before {
  content: "\e96c";
}
.icon-link:before {
  content: "\e9cb";
}
.icon-play2:before {
  content: "\ea15";
}
.icon-arrow-up2:before {
  content: "\ea3a";
}
.icon-circle-up:before {
  content: "\ea41";
}
.icon-circle-right:before {
  content: "\ea42";
}
.icon-circle-left:before {
  content: "\ea44";
}
.icon-rss2:before {
  content: "\ea9c";
}
.icon-android:before {
  content: "\eac0";
}

4.icomoon_demo.html文件,使用span标记,加对应的类名就可以。

<!doctype html>
<html>
	<head>
		<meta charset="utf-8">
		<title>IcoMoon Demo</title>
		<meta name="description" content="An Icon Font Generated By IcoMoon.io">
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<link rel="stylesheet" href="./css/icomoon.css">
	</head>
	<body>
		<span class="icon-connection"></span>
		<span class="icon-bubbles"></span>
		<span class="icon-link"></span>
		<span class="icon-play2"></span>
		<span class="icon-arrow-up2"></span>
		<span class="icon-circle-up"></span>
		<span class="icon-circle-left"></span>
		<span class="icon-circle-right"></span>
		<span class="icon-android"></span>
		<span class="icon-rss2"></span>
	</body>
</html>

5.注意:选择的图标不同,fonts文件夹中每次生成的.eot,.svg等文件会不同,如果要用到新的图标,需要重新到官网选择需要的图标重新生成,重新下载。

三、使用场景举例

很多网站的导航栏都有一个倒三角,表示此处有下拉菜单,如图所示是淘宝网的“联系客服”菜单项。

1.文件目录结构如下。
在这里插入图片描述

2.本例中,没有使用单独的 css文件,css代码放在html文件中,url的路径和上例中不同。另外本例中还使用了::after伪元素,具体代码如下。

<!DOCTYPE html>
<html lang="en">

	<head>
		<meta charset="UTF-8">
		<meta name="viewport" content="width=device-width, initial-scale=1.0">
		<meta http-equiv="X-UA-Compatible" content="ie=edge">
		<title>伪元素选择器-字体图标倒三角</title>
		<style>
			* {
				margin: 0;
				padding: 0;
			}

			body {
				background-color: #eee;
			}

			ul,li {
				list-style: none;
			}
            a{
				text-decoration: none;
				color:#333;
			}
			@font-face {
				font-family: 'icomoon';
				src: url('fonts/icomoon.eot?1lv3na');
				src: url('fonts/icomoon.eot?1lv3na#iefix') format('embedded-opentype'),
					url('fonts/icomoon.ttf?1lv3na') format('truetype'),
					url('fonts/icomoon.woff?1lv3na') format('woff'),
					url('fonts/icomoon.svg?1lv3na#icomoon') format('svg');
				font-weight: normal;
				font-style: normal;
				font-display: block;
			}

			#service {
				position: relative;    				/*父相*/
				width: 105px;
				height: 35px;
				line-height: 35px;
				margin: 20px 100px;
				box-sizing: border-box;
				padding-left: 10px;

			}

			#service::after {
				position: absolute;            /*绝对定位*/
				top: 0px;                     /*定义字体图标的位置-水平方向*/
				right: 10px;                    /*定义字体图标的位置-垂直方向*/
				font-family: 'icomoon';   		/*使用icomoon字体*/
				content: '\e91e';     			/*字体图标编号*/
				color: #ccc;                    /*字体图标颜色*/
				font-size: 20px;                /*字体图标大小*/
			}

			#service ul {
				position: absolute;   				/*子绝*/
				left: 0;
				top: 35px;
				visibility: hidden;
			}
			#service li{
				padding: 0 10px;
			}
			#service:hover {
				background-color: #fff;
			}

			#service:hover ul {
				visibility: visible;
				background-color: #fff;
			}
            #service li:hover{
				background-color: #ccc;
			}
		</style>
	</head>

	<body>
		<div id="service">联系客服
			<ul>
				<li><a href="#">消费者客服</a></li>
				<li><a href="#">卖家客服</a></li>			
				<li><a href="#">意见反馈</a></li>			
				<li><a href="#">网页版旺旺</a></li>
		  </ul>
		</div>
	</body>
</html>

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

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

相关文章

每天10个前端小知识 【Day 10】

前端面试基础知识题 1. es5 中的类和es6中的class有什么区别&#xff1f; 在es5中主要是通过构造函数方式和原型方式来定义一个类&#xff0c;在es6中我们可以通过class来定义类。 class类必须new调用&#xff0c;不能直接执行。 class类执行的话会报错&#xff0c;而es5中…

【PyTorch】教程:Transfer learning

Transfer learning 实际工作中&#xff0c;只有很少的人从头开始训练 CNN&#xff0c;因为很难获得大量的样本。一般情况下&#xff0c;会通过调用预训练模型&#xff0c;例如 ConvNet 在 ImageNet&#xff08;1.2 M 图像 1000 个类别&#xff09;,可以用 ConvNet 初始化&#…

Verilog 组合逻辑一些注意事项

reg型变量不一定会被综合成触发器 【参考链接】 以下是verilog-2001的标准中对wire和reg的定义如下&#xff1a; wire&#xff1a; A wire net can be used for nets that are driven by a single gate or continuous assignment. reg&#xff1a; Assignments to a reg are…

微信小程序 Springboot java nodejs图书馆图书借阅系统

图书借阅管理系统用户端是基于微信小程序&#xff0c;管理员端是基于java编程语言&#xff0c;mysql数据库&#xff0c; idea工具开发&#xff0c;本系统是分为用户和管理员两个角色&#xff0c;其中用户的主要功能有注册登陆小程序&#xff0c;查看系统功能&#xff0c;图书搜…

VB 消息、消息队列、事件

windows是图像化界面&#xff0c;多任务消息windows系统将消息&#xff08;大的结构&#xff09;发给其他应用程序Windows消息包含了所有的外部输入或者计算机内部信息&#xff0c;应用程序的消息队列先进先出&#xff0c;Windows消息的循环--每个应用程序里有自己的消息循环外…

微信卸载后重装的聊天记录还能找回吗?

很多人微信卸载后&#xff0c;问能不能恢复之前的聊天记录&#xff1f; 我想大家肯定都去百度搜索了&#xff0c;能搜出来可行的办法了么&#xff0c;没有是吧&#xff0c;那就看看我能不能帮到你&#xff0c;根据我的经验来解决。 答&#xff1a;理论上是不能的&#xff0c;因…

SpringBoot集成swagger3(CD2207)(内含教学视频+源代码)

SpringBoot集成swagger3&#xff08;CD2207&#xff09;&#xff08;内含教学视频源代码&#xff09; 教学视频源代码下载链接地址&#xff1a;https://download.csdn.net/download/weixin_46411355/87435564 目录SpringBoot集成swagger3&#xff08;CD2207&#xff09;&#…

LeetCode栈与队列相关解法

栈与队列1. 用栈实现队列[232. 用栈实现队列](https://leetcode.cn/problems/implement-queue-using-stacks/)2. 用队列实现栈[225. 用队列实现栈](https://leetcode.cn/problems/implement-stack-using-queues/)两个队列实现一个队列实现3. 有效括号[20. 有效的括号](https://…

mysql使用innobackupex主从同步

目录 1.用innobackupex物理备份主库数据至文件夹 2.在从库用innobackupex恢复数据库 3.配置主从并启动从库 innobackupex是一款MySQL备份工具&#xff0c;备份速度快(通过直接copy物理文件)&#xff0c;而且支持压缩、流式传输、加密等功能 新安装的数据库自带innobackupex…

程序的翻译环境和执行环境

程序环境和预处理&#x1f996;程序的翻译环境和执行环境&#x1f996;详解编译链接&#x1f433; 翻译环境&#x1f433; 详解编译过程&#x1f433; 运行环境&#x1f996;预处理详解&#x1f433; 预定义符号&#x1f433; #define&#x1f980; #define 定义标识符&#x1…

端到端模型(end-to-end)与非端到端模型

一、端到端&#xff08;end to end&#xff09; 从输入端到输出端会得到一个预测结果&#xff0c;将预测结果和真实结果进行比较得到误差&#xff0c;将误差反向传播到网络的各个层之中&#xff0c;调整网络的权重和参数直到模型收敛或者达到预期的效果为止&#xff0c;中间所…

9.关系查询处理和查询优化

其他章节索引 梳理 名词解释 代数优化&#xff1a;是指关系代数表达式的优化&#xff0c;也即按照一定规则&#xff0c;通过对关系代数表达式进行等价变换&#xff0c;改变代数表达式中操作的次序和组合&#xff0c;使查询更高效物理优化&#xff1a;是指存取路径和底层操作算…

类和对象(中)(二)

类和对象&#xff08;中&#xff09;&#xff08;二&#xff09;1.赋值运算符重载1.1运算符重载1.2赋值运算符重载1.3前置和后置重载2.const成员3.取地址及const取地址操作符重载&#x1f31f;&#x1f31f;hello&#xff0c;各位读者大大们你们好呀&#x1f31f;&#x1f31f;…

【Linux基础知识】

Linux基础知识 Linux基础知识 系统目录结构 /bin&#xff1a; 命令和应用程序。 /boot&#xff1a; 这里存放的是启动 Linux 时使用的一些核心文件&#xff0c;包括一些连接文件以及镜像文件。 /dev &#xff1a; dev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外…

MySQL —— 内置函数

目录 内置函数 一、日期函数 二、字符串函数 三、数学函数 四、其他函数 内置函数 一、日期函数 函数名称描述current_date()获取当前日期current_time()获取当前时间current_timestamp()获取当前时间戳now()获取当前日期时间date(datetime)获取datetime参数的日期部分d…

【C→C++】打开C++世界的大门

文章目录前言什么是CC的发展史C的重要性1. 使用广泛度2. 工作领域的应用1. C关键字(C98)2. 命名空间2.1 命名空间的定义2.2 命名空间的使用2.3 std命名空间的使用惯例3. C输入&输出3.1 输入输出3.2 说明4. 缺省参数4.1 缺省参数概念4.2 缺省参数分类5. 函数重载5.1 函数重载…

作业帮发布新款AI学习桌,引领书桌行业智能化发展

2月9日&#xff0c;作业帮举办AI学习桌新品沟通会&#xff0c;宣布其独家开创的AI学习桌推出四个月内跻身天猫书桌单品GMV前四&#xff0c;作业帮将加大投入&#xff0c;正式进军书桌市场&#xff0c;并发布新款AI学习桌产品。AI伴学护眼护脊&#xff0c;颠覆传统书桌想象力作业…

一:Datart的下载、本地运行

前言&#xff1a;本文只是个人在使用datart的一个记录&#xff0c;仅供参考。如果有不一样的地方&#xff0c;欢迎评论或私信进行交流。datart 是新一代数据可视化开放平台&#xff0c;支持各类企业数据可视化场景需求&#xff0c;如创建和使用报表、仪表板和大屏&#xff0c;进…

ASEMI三相整流模块MDS100-16图片,MDS100-16尺寸

编辑-Z ASEMI三相整流模块MDS100-16参数&#xff1a; 型号&#xff1a;MDS100-16 最大重复峰值反向电压&#xff08;VRRM&#xff09;&#xff1a;1600V 最大RMS电桥输入电压&#xff08;VRMS&#xff09;&#xff1a;1700V 最大平均正向整流输出电流&#xff08;IF&#…

计算机网络|第二章 物理层|湖科大课程|从零开始的计网学习——物理层(计网入门就看这篇!)

图片来源于胡科大计算机网络课程&#xff0c;https://www.bilibili.com/video/BV1c4411d7jb?p20&vd_sourcedeb12d86dce7e419744a73045bc66364。文章非盈利商业用途&#xff0c;供博主与大家学习参考&#xff0c;如有侵权&#xff0c;请联系我删除&#xff01;2.1物理层的基…