【字体图标iconfont】字体图标部署流程+项目源码分析

今日,心情甚是烦闷,原由…
公司项目需要将字体图标做一些细微的调整,我一人分析了许久,看不大懂源码的逻辑,产生了自我怀疑。深吸一口气,重新鼓起勇气,调整心境,一下子豁然开朗,所以决定写一份字体图标部署的教程,以此吸取教训和总结经验

1.前置知识

当我们从阿里巴巴矢量库将自己需要的图标都添加到项目中后【或者公司的UI已经为我们准备好了包含所需图标的项目】

  • 我们需要先把项目下载到本地
  • 在这里插入图片描述接下来将下载下来的文件解压,打开文件夹,找到以下文件
    在这里插入图片描述
  • 将上方红色框里面的所有文件都替换到项目的iconfont文件中【一般是在项目工程的project/assets/fonts/…目录下面】,自己找找看看都会找到的
    在这里插入图片描述
  • 所有字体文件都替换结束后,我们就得到一个全新的iconfont.css文件,里面使用伪类选择器,将类选择器与图标字体建立联系,比如放大图标,他的unicode值是e674,在 iconfont.css代码中.icon-fangda就代表着unicode值为e674的放大图标
    在这里插入图片描述

iconfont.css代码的一部分


.icon-fuzhi:before {
  content: "\e672";
}

.icon-suoxiao:before {
  content: "\e673";
}

.icon-fangda:before {
  content: "\e674";
}

2.遇到的问题

UI需要将项目左侧的图标替换成右侧图标,可是我看起来并没有太大的区别,可能UI有它自己的想法
图标前后对比
核心代码

循环遍历每一个图标,通过class动态绑定样式,可能大家看到a-tooptip会觉得这是个什么东西,不要担心,我们可以把它看成一个普通的组件,本文不对它做出讨论…,代码的关键之处在于span标签绑定的动态样式,以放大图标为例,span对应的class值为 icon-fangda,而 icon-fangda就代表着放大图标,span 标签内部::before元素就是我们需要的放大图标【相信从头看下来的小伙伴们已经懂了】

<template v-for="item of tools">
        <a-tooltip placement="right" :title="item.name" :overlay-style="{ maxWidth: '100%' }">
          <span :class="item.icon"></span>
        </a-tooltip>
    </template>

图标数据

  tools: [
        {
          key: 'zoomIn',
          icon:'icon-fangda',
          name: `放大 ${optionsText}+加号;${optionsText}+鼠标滚轮`,
        },
        {
          key: 'zoomOut',
          icon:'icon-suoxiao',
          name: `缩小 ${optionsText}+减号;${optionsText}+鼠标滚轮`,
        },
        {
          key: 'copy',
          icon: 'icon-fuzhi',
          name: `复制当前图片标注信息 ${optionsText}+C`,
        },
        {
          key: 'icon-niantie',
          icon: 'icon-niantie',
          name: `粘贴已复制标注信息 ${optionsText}+V`,
        },
        { key: 'delete', icon: 'icon-lajitong', name: '删除' },
      ],

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【sentinel】熔断降级规则详解及源码分析

概述 除了流量控制以外&#xff0c;对调用链路中不稳定的资源进行熔断降级也是保障高可用的重要措施之一。一个服务常常会调用别的模块&#xff0c;可能是另外的一个远程服务、数据库&#xff0c;或者第三方API等。例如&#xff0c;支付的时候&#xff0c;可能需要远程调用银联…

ChatGPT使用介绍、ChatGPT+编程、相关组件和插件记录

文章目录介绍认识ChatGPT是通过英汉互译来实现中文回答的吗同一个问题&#xff0c;为什么中英文回答不同ChatGPT的使用对话组OpenAI APIAI智能绘图DALLE 2ChatGPT for Google插件ChatGPT编程编写代码代码错误修正与功能解读代码评审与优化推荐技术方案编写和优化SQL语句在代码编…

Linux操作系统ARM指令集与汇编语言程序设计

一、实验目的1.了解并掌握ARM汇编指令集2.应用ARM指令集编写一个程序操控开发板上的LED灯二、实验要求应用ARM汇编指令集编写程序&#xff0c;实现正常状态下开发板上的LED灯不亮&#xff0c;按下一个按键之后开发板上的LED灯进入流水灯模式。三、实验原理四个LED灯的电路如下图…

第二十二天 数据库开发-MySQL(DQL、多表设计)

目录 数据库开发-MySQL 1. 数据库操作-DQL 1.1 介绍 1.2 语法 1.3 基本查询 1.4 条件查询 1.5 排序查询 1.6 分页查询 1.7 聚合函数 1.8 分组查询 2. 多表设计 2.1 一对多 2.2 一对一 2.3 多对多 2.4 案例 数据库开发-MySQL 1. 数据库操作-DQL 1.1 介绍 DQL英文…

免费镜像 ChatGPT 网站随你挑和分享一批可用的 API Keys

文章目录一、前言二、在线 ChatGPT三、分享一批 API Keys&#x1f349; CSDN 叶庭云&#xff1a;https://yetingyun.blog.csdn.net/ 一、前言 随着科技的不断进步&#xff0c;人工智能在各个领域的应用越来越广泛。在这个过程中&#xff0c;人们需要不断更新知识和技能&#x…

SpringBoot整合数据可视化大屏使用

1 前言 DataV数据可视化是使用可视化应用的方式来分析并展示庞杂数据的产品。DataV旨让更多的人看到数据可视化的魅力,帮助非专业的工程师通过图形化的界面轻松搭建专业水准的可视化应用,满足您会议展览、业务监控、风险预警、地理信息分析等多种业务的展示需求, 访问地址:h…

第一部分——简单句——第一章——简单句的核心——第二节 简单句的核心变化——主语,表语,宾语的变化

之前我们学了谓语动词的五种变化&#xff08;三态加一否&#xff09; 主语&#xff0c;宾语&#xff0c;表语都是围绕着谓语动词的对象。 &#xff08;1&#xff09;主语可以是名词/代词 &#xff08;2&#xff09;或者是相当于名词的&#xff08;非谓语动词doing&#xff0c…

网络安全行业0-5年规划,零基础如何入门网络渗透?

前言 网络安全这个行业优势有&#xff1a;需求量大&#xff0c;人才紧急&#xff0c;门槛低&#xff0c;工资高。对于许多未曾涉足IT行业「小白」来说&#xff0c;深入地学习网络安全是一件十分困难的事。 关于我 本人是一位90后奇安信驻场网络安全工程师。上海交通大学软件…

江苏专转本考完后,有哪些需要注意的

专转本考完后&#xff0c;有哪些需要注意的&#xff01; 各位2023考生辛苦了&#xff01; 不过&#xff0c;想尽情享受考后生活的你 需要注意&#xff1a;考完≠全结束 短暂的休息后 你还需要继续出发 注意成绩查询时间 一般是20天左右公布成绩录取分数线等&#xff0c;保存好准…

银河麒麟v10系统硬盘挂载并配置yum软件源

一、查看磁盘 近期由于centos系统停止更新用户服务器要更换银河麒麟v10&#xff0c;拿到服务器后使用lsblk -f或fdisk -l命令查看磁盘名称 可以看到sdb200G就是要挂载的硬盘&#xff0c;还没有uuid需要初始化才可以挂载。 二、分区 分区命令&#xff1a; fdisk /dev/【你的…

将 XLS 转换为 EXE:xlCompiler Crack

只需单击几下即可将Excel文件转换为应用程序 xl编译器无需编程即可将您的Excel电子表格转换为软件应用程序 将 XLS 转换为 EXE 将Excel文件转换为具有保护选项的应用程序。Excel 到 EXE 转换器为您提供了分发 Excel 模型的竞争优势和灵活性。将 Excel 的功能丰富的环境保存在应…

Chatgpt论文笔记——GPT1详细解读与可运行的代码

前言 论文&#xff1a;https://cdn.openai.com/research-covers/language-unsupervised/language_understanding_paper.pdf 时间&#xff1a;2018年6月 贡献&#xff1a; 提出了大规模数据上无监督预训练然后在目标任务上有监督finetune的范式。 具体实现 当时由于NLP领域不存…

Java每日一练(20230325)

目录 1. 逆序输出 &#x1f31f; 2. 删除有序数组中的重复项 &#x1f31f; 3. 直线上最多的点数 &#x1f31f;&#x1f31f;&#x1f31f; &#x1f31f; 每日一练刷题专栏 &#x1f31f; Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练…

fabric(token-erc-20链码部署)

确保自己已经安装了fabric。没有安装的可以参考我之前的教程fabric中bootstrap.sh到底帮助我们干了什么&#xff1f;&#xff08;手动执行相关操作安装fabric2.4&#xff09;_./bootstrap.sh_小小小小关同学的博客-CSDN博客小伙伴们在跟着官方示例来安装fabric的时候都是相当烦…

Kalman详尽原理介绍合集

目录 前言 1.线性kalman(LKF) 1.1LKF原理简介 1.2 适用场合 2.扩展kalman(EKF) 2.1LKF原理简介 2.2 适用场合 2.3 使用注意事项 3.无迹kalman&#xff08;UKF&#xff09; 3.1LKF原理简介 3.2 UT变换 3.3 适用场合 4.粒子滤波PF 4.1 PF原理简介 4.2 适用场合 前言…

uni-app:登录与支付--用户信息

用户信息 实现用户头像昵称区域的基本布局 在 my-userinfo 组件中&#xff0c;定义如下的 UI 结构&#xff1a; <template><view class"my-userinfo-container"><!-- 头像昵称区域 --><view class"top-box"><image src"…

cpu中缓存简介

一级缓存是什么&#xff1a; 一级缓存都内置在CPU内部并与CPU同速运行&#xff0c;可以有效的提高CPU的运行效率。一级缓存越大&#xff0c;CPU的运行效率越高&#xff0c;但受到CPU内部结构的限制&#xff0c;一级缓存的容量都很小。 CPU缓存&#xff08;Cache Memory&#xf…

html+css制作

<!DOCTYPE html> <html><head><meta charset"utf-8"><title>校园官网</title><style type"text/css">*{padding: 0;margin: 0;}#logo{width:30%;float: left;}.nav{width: 100%;height: 100px;background-color…

什么是柔性数组以及柔性数组的用法和特点

C/C程序的内存开辟 C/C程序内存分配的几个区域&#xff1a; 栈区&#xff1a;在执行函数时&#xff0c;函数内局部变量的存储单元都可以在栈上创建&#xff0c;函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中&#xff0c;效率很高&#xff0c;但…

camunda7、camunda8对比分析,哪个版本好

2022年4月&#xff0c;用于业务流程自动化的最著名的BPMN引擎之一Camunda升级到了新版本。这次升级非常重要&#xff0c;新版本理应拥有自己的编号&#xff0c;官方称之为Camunda 8。事实上&#xff0c;这些变化不仅仅是表面上的&#xff1a;Camunda 7和Camunda 8在技术和许可证…
最新文章