如何在 IconFont 上获取图标资源

阿里巴巴矢量图标库网站(https://www.iconfont.cn/)上提供了非常丰富的图标资源,包括 SVG、AI、PNG、字体图标等格式。使用该网站提供的图标,需要在该网站上注册账号并登录。

1 搜索图标

登录成功后,在首页的搜索框中搜索关键字,例如搜索一个手机的图标:

输入'mobile' 后回车,可以看到搜索结果。可以在搜索结果上方选择色系、风格等,对结果进行过滤。

在前端开发实战中,最常使用的是 SVG、PNG、字体图标三种方式。使用 PNG 图标,找到对应的图标后,直接点击 ”PNG 下载“就行。下面着重谈谈使用 SVG 和字体图标。

2 使用 SVG 图标

找到要使用的图标,鼠标移上去会图标上的悬浮层出现三个按钮,点击最下面的下载按钮:

点击下载按钮后,会弹窗显示该图标的信息。

可以在这个弹窗中修改图标的颜色、大小属性。

2.1 方式一:直接下载

与使用PNG图标格式图标一样,点击弹窗底部的 "SVG 下载" 按钮就行,将下载下来的 ”.svg“ 文件拷贝到工程中即可。

2.2 方式二:复制 SVG 代码

svg 文件本质上是一个 xml 文件。首先在项目中创建一个svg文件,如:'icon-mobile.svg'。打开该文件,在该文件中添加 xml 的头部:

<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">

点击弹窗中的 ”复制SVG代码“按钮,然后在 icon-mobile.svg 文件中粘贴即可。

我个人的习惯是:没有 SVG 图标时,第一次点击“SVG 下载”,下载svg文件。之后就手动创建 SVG 文件, ”复制SVG代码“。

3 使用字体图标

3.1 查找并添加图标到购物车

前面已经讲过,在搜索到的图标列表中,鼠标移动到图标上会出现一个悬浮层,悬浮层有三个按钮,点击第一个购物车图形的按钮,将图标添加到购物车中:

点击后,悬浮层中的购物车按钮会变成实心按钮,表明添加成功。然后依次查找其他需要使用的图标,同样的方式添加到购物车。

3.2 方式一:下载代码

把需要使用的图标全部添加到购物车后,点击页面右上角的购物车按钮:

点击后会在页面右侧滑出购物车面板,点击下方的”下载代码“按钮,即可获得字体图标文件。

3.3 方式二:添加至项目

在上面右侧滑出的购物车面板中,点击”添加至项目“按钮,会在右下方出现项目列表。如果项目已经存在,则选中对应项目后点击”确定“按钮。如果项目不存在,点击右下方区域的右上角的加号图标:

填写项目名称后,点击”确定“按钮,进入到项目界面。

在项目管理界面中,鼠标移动到每个图标上,都会在图标上出现浮动层,该浮层有四个操作按钮:

我尝试了点击编辑按钮,我想编辑图标的类名,但没有修改成功。故只能保留它默认的名称。点击上方的”下载至本地“按钮,便可得到和方式一相同的字体图标文件。

4 个人心得

在真实的项目开发中,我一般都使用 svg 图标。使用字体图标只有两种情况:一种情况是自己写demo玩玩,第二种情况便是有人提供现成的iconfont资源。我之所以不在项目开发中通过IconFont网站资源使用字体图标,原因如下:

  • 该网站获取的字体图标 class 命名五花八门,极大可能不符合项目规范;
  • 虽然可以在下载后的字体图标文件中手动更新 class 命名,但项目是持续迭代的,迭代过程中需要新图标,你如何叠加进去;
  • 可以采用 Unicode 方式使用字体图标,可惜可读性太差,只看代码也猜不出图标是啥
  • 项目中需要些什么图标也许多方角色都不知道,只有在开发过程中遇到图标,才去搜索下载。

感谢你阅读本文,如果本文给了你一点点帮助或者启发,还请三连支持一下,点赞、关注、收藏,作者会持续与大家分享更多干货

在 IconFont 上获取图标资源的操作方法与感悟的更多相关文章

  1. 【转】Android应用开发之PNG、IconFont、SVG图标资源优化详解

    1 背景 最近因为一些个人私事导致好久没写博客了,多事之年总算要过去了,突然没了动力,所以赶紧先拿个最近项目中重构的一个小知识点充下数,老题重谈. 在我们App开发中大家可能都会有过如下痛疾(程序员和 ...

  2. C# .exe和.dll文件图标资源提取工具

    Windows 可执行文件(.exe)和动态库文件(.dll)图标资源提取工具 GitHub 功能 图标资源预览 图标资源导出(仅支持导出 PNG 格式) 代码 获取图标资源使用了 Win32 API ...

  3. Microsoft Dynamics CRM 批量上传web资源(非官方WebResourceUtility)并替换实体图标

    背景: 去年以前可以按照目录WebResourceUtility批量上传web资源,昨天发现用不了了,拿到WebResourceUtility源码改了一下都不是很方便,感觉官方写的太冗余,太长了,跟我 ...

  4. iOS学习——如何在mac上获取开发使用的模拟器的资源以及模拟器中每个应用的应用沙盒

    如题,本文主要研究如何在mac上获取开发使用的模拟器的资源以及模拟器中每个应用的应用沙盒.做过安卓开发的小伙伴肯定很方便就能像打开资源管理器一样查看我们写到手机本地或应用中的各种资源,但是在iOS开发 ...

  5. 在Winform开发框架中使用DevExpress的内置图标资源

    在开发Winform程序界面的时候,我们往往会使用一些较好看的图表,以便能够为我们的程序界面增色,良好的图标设置可以让界面看起来更加美观舒服,而且也比较容易理解,图标我们可以通过一些网站获取各种场景的 ...

  6. iOS 抽取app中的图片图标资源

    iTunes 12.6之前的版本,我们手机连上MAC之后,可以在iTunes里看到应用选项,但是12.8之后的版本就不行了.无法通过iTunes 获取ipa文件进而获取APP图片资源. 不过还是有其他 ...

  7. vue中引入第三方字体图标库iconfont,及iconfont引入彩色图标

    iconfont字体图标使用就不多说了,大致是几部: 1.在iconfont官网选图标,加入购物车,加入项目,下载到本地,解压 2.在项目assets目录新建目录iconfont,用于存放刚才下载解压 ...

  8. 安卓开发:一种快速提取安卓app的UI图标资源的方法

    在做安卓设计时,找美工设计界面的漂亮图标是必不可少的,但是对于一个初创团队来说,请一个UI的成本其实也挺高的,此时对于一个偏技术的产品经理来说,从其他成熟的产品的apk中提取图标就是一个很便捷的方法, ...

  9. windows 程序设计自学:添加图标资源

    #include <windows.h> #include "resource.h" LRESULT CALLBACK MyWndProc( HWND hwnd, // ...

随机推荐

  1. stm32f103ve+BH1750使用教程+oled(HAL库)

    1.硬件:BH1750模块+oled 2.代码:BH1750是标准的iic协议的外设,我这里单独有iic的文件,之后想要实现多个设备共用一个iic. BH1750.c 1 #include " ...

  2. 【Java面试】请简单说一下你对受检异常和非受检异常的理解

    Hi,我是Mic 今天给大家分享一道阿里一面的面试题. 这道题目比较基础,但是确难倒了很多人. 关于"受检异常和非受检异常的理解" 我们来看看普通人和高手的回答. 普通人: 嗯.. ...

  3. 从零开始实现lmax-Disruptor队列(三)多线程消费者WorkerPool原理解析

    MyDisruptor V3版本介绍 在v2版本的MyDisruptor实现多消费者.消费者组间依赖功能后.按照计划,v3版本的MyDisruptor需要支持多线程消费者的功能. 由于该文属于系列博客 ...

  4. 关于升级最新版本node.js你知道多少?

    1.先检查版本 node -v 2.清除缓存 npm cache clean -f 3.全局安装管理node.js版本工具 npm install -g n 4.确认安装最新版本 n stable 5 ...

  5. SAP ABAP 快速入门之 开发环境 (Environment)

    报表是学习ABAP 原则和工具的很好的 起点.ABAP 报表在许多领域都有使用,本章将介绍简单ABAP 报表的开发. Hello ABAP 让我们以'Hello World' 开始. 每一个abap ...

  6. if else 还在用吗?

    当我们在使用if else 的时候,你是否闻到代码的坏味道呢? 除非非常简单的逻辑,当我们在写一大坨if else的时候,就应该审视一下是否这样写合适呢?是否这一坨代码体现某一个业务语义呢?是否体现领 ...

  7. Java学习dayo4

    分支结构和循环语句 1.包的概念 包就是文件夹 包的命名规范:全小写,域名倒置,不能以点开头或结尾,可以包含点,每存在一个点表示一个子目录 举例:com.baidu.demo 定义包后,包中的java ...

  8. 2022-07-12 第六组 润土 JavaScript02学习笔记

    1.循环语句 for循环: for(let i=0;i<10;i++){循环体} while循环: while(i<10){循环体}: do... while...循环: do{循环体}w ...

  9. 作业一、安装Ubuntu系统

    Ubuntu1804安装 一.安装环境 1.VMware Workstation 16 Pro 2.Ubuntu 18.04.6 LTS 二.部署系统 步骤1.进入VMware,点击创建新的虚拟机 步 ...

  10. EFCore高级Saas系统下一个DbContext如何支持多数据库迁移

    EFCore高级玩法单DbContext支持多数据库迁移 前言 随着系统的不断开发和迭代默认的efcore功能十分强大,但是随着Saas系统的引进efcore基于表字段的多租户模式已经非常完美了,但是 ...