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

【字体图标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.lryc.cn/news/42722.html

相关文章:

  • 2023最全的Web自动化测试介绍(建议收藏)
  • jvm_根节点枚举安全点安全区域
  • fabric(token-erc-20链码部署)
  • C语言基础——流程控制语句
  • WinForm | C# 界面弹出消息通知栏 (仿Win10系统通知栏)
  • 刷题之最长公共/上升子序列问题
  • 【数据结构】千字深入浅出讲解栈(附原码 | 超详解)
  • 自动驾驶V2X
  • 零基础自学网络安全/渗透测试有哪些常见误区?
  • ConvMixer:Patches Are All You Need
  • day10—编程题
  • 如何测量锂电池的电量
  • 菜鸟刷题Day6
  • DecimalFormat格式化显示数字
  • cpu中缓存简介
  • 【数据结构】二叉树的遍历以及基本操作
  • 若依框架 --- ruoyi 表格的设置
  • “两会”网络安全相关建议提案回顾
  • 一篇文章带你真正了解接口测试(附视频教程+面试真题)
  • C/C++每日一练(20230325)
  • Linux操作系统ARM指令集与汇编语言程序设计
  • 计网之HTTP协议和Fiddler的使用
  • sql性能优化:MS-SQL(SQL Server)跟踪日志信息结果列字段说明,MSSQL的列字段说明(column)
  • DNS主从复制
  • 常见的js加密/js解密方法
  • 6 python函数
  • 7.避免不必要的渲染
  • 国产化大趋势下学习linux的必要性
  • 浅谈虚树
  • 裸机条件下写一个基于时间片轮转的多任务并发程序