我的编程空间,编程开发者的网络收藏夹
学习永远不晚

在线使用iconfont字体图标的简单实现

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

在线使用iconfont字体图标的简单实现

vue项目(本地)使用iconfont字体图标

vue中手动封装iconfont组件(三种引用方式的封装)

使用准备

进入 阿里巴巴矢量图标库 ,登陆以后,搜索需要的图标,然后点击添加入库

进入“我的图标库”(右上角购物车),点击添加至项目

点击 + 图标创建一个新项目,然后把新图标加入到新项目中。(也可以按需添加到已有项目)

进入我的项目,即可看到如下界面

三种使用方式介绍

unicode引用

unicode是字体在网页端最原始的应用方式,特点是:

  • 兼容性最好,支持ie6+,及所有现代浏览器。
  • 支持按字体的方式去动态调整图标大小,颜色等等。
  • 但是因为是字体,所以不支持多色。只能使用平台里单色的图标,就算项目里有多色图标也会自动去色。

注意:新版iconfont支持多色图标,这些多色图标在unicode模式下将不能使用,如果有需求建议使用symbol的引用方式

unicode使用步骤如下:

拷贝项目下面生成的font-face

@font-face {font-family: 'iconfont';
    class="lazy" data-src: url('iconfont.eot');
    class="lazy" data-src: url('iconfont.eot?#iefix') format('embedded-opentype'),
    url('iconfont.woff') format('woff'),
    url('iconfont.ttf') format('truetype'),
    url('iconfont.svg#iconfont') format('svg');
}

定义使用iconfont的样式

.iconfont{
    font-family:"iconfont" !important;
    font-size:16px;font-style:normal;
    -webkit-font-smoothing: antialiased;
    -webkit-text-stroke-width: 0.2px;
    -moz-osx-font-smoothing: grayscale;}

挑选相应图标并获取字体编码,应用于页面

<i class="iconfont">&#x33;</i>

font-class引用

font-class是unicode使用方式的一种变种,主要是解决unicode书写不直观,语意不明确的问题。

与unicode使用方式相比,具有如下特点:

  • 兼容性良好,支持ie8+,及所有现代浏览器。
  • 相比于unicode语意明确,书写更直观。可以很容易分辨这个icon是什么。
  • 因为使用class来定义图标,所以当要替换图标时,只需要修改class里面的unicode引用。
  • 不过因为本质上还是使用的字体,所以多色图标还是不支持的。

使用步骤如下:

拷贝项目下面生成的fontclass代码:

//at.alicdn.com/t/font_8d5l8fzk5b87iudi.css

挑选相应图标并获取类名,应用于页面:

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

symbol引用

这是一种全新的使用方式,应该说这才是未来的主流,也是平台目前推荐的用法。这种用法其实是做了一个svg的集合,与上面两种相比具有如下特点:

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

使用步骤如下:

拷贝项目下面生成的symbol代码:

//at.alicdn.com/t/font_8d5l8fzk5b87iudi.js

加入通用css代码(引入一次就行):

<style type="text/css">
    .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" rel="external nofollow" ></use>
</svg>

在线使用

点击生成代码

完整使用代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>iconfont使用</title>
    <!-- fontclass -->
    <link rel="stylesheet" type="text/css" href="http://at.alicdn.com/t/font_1170286_tfb5h7u1t9.css" rel="external nofollow" >
    <style type="text/css">
    
    @font-face {
        font-family: 'iconfont';
        
        class="lazy" data-src: url('//at.alicdn.com/t/font_1170286_tfb5h7u1t9.eot');
        class="lazy" data-src: url('//at.alicdn.com/t/font_1170286_tfb5h7u1t9.eot?#iefix') format('embedded-opentype'),
            url('//at.alicdn.com/t/font_1170286_tfb5h7u1t9.woff2') format('woff2'),
            url('//at.alicdn.com/t/font_1170286_tfb5h7u1t9.woff') format('woff'),
            url('//at.alicdn.com/t/font_1170286_tfb5h7u1t9.ttf') format('truetype'),
            url('//at.alicdn.com/t/font_1170286_tfb5h7u1t9.svg#iconfont') format('svg');
    }

    .iconfont {
        font-family: "iconfont" !important;
        font-size: 16px;
        font-style: normal;
        -webkit-font-smoothing: antialiased;
        -webkit-text-stroke-width: 0.2px;
        -moz-osx-font-smoothing: grayscale;
    }

    .icon {
        width: 1em;
        height: 1em;
        vertical-align: -0.15em;
        fill: currentColor;
        overflow: hidden;
    }
    p {
        color: #fff;
    }
    p:last-child{
        font-size: 2em;
    }
    </style>
    <!-- Symbol -->
    <script type="text/javascript" class="lazy" data-src="http://at.alicdn.com/t/font_1170286_tfb5h7u1t9.js"></script>
</head>
<body>
    <div style="width: 100%;text-align: center;background: #333;padding: 20px;">
        <p><i class="iconfont">&#xe633;</i> Unicode</p>
        <p><i class="iconfont icon-fanhuidingbu"></i> Font class</p>
        <p>
            <svg class="icon" aria-hidden="true">
                <use xlink:href="#icon-fanhuidingbu" rel="external nofollow" ></use>
            </svg>
            Symbol
        </p>
    </div>
</body>
</html>

使用效果如下:

​以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

在线使用iconfont字体图标的简单实现

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Android中正确使用字体图标(iconfont)的方法

字体图标 字体图标是指将图标做成字体文件(.ttf),从而代替传统的png等图标资源。 使用字体图标的优点和缺点分别为: 优点: 1. 可以高度自定义图标的样式(包括大小和颜色),对于个人开发者尤其适用 2. 可以减
2022-06-06

vue项目中更改名字和图标的简单实现步骤

今天在写vue项目时碰到的问题是怎么修改vue的网页图标,所以下面这篇文章主要给大家介绍了关于vue项目中更改名字和图标的简单实现,文中通过图文介绍的非常详细,需要的朋友可以参考下
2022-11-13

Android为应用添加数字角标的简单实现

角标,英语是badge,也就是“徽章,像章,奖章; 象征,标记”的意思。 效果图可以看到图中的环信单聊这个app右上角的红色的圆圈,里面有6这个数字的,就是一种角标。 一般来说,应用的角标是用来标记有多少条提醒(Notification)没
2022-06-06

如何使用PHP实现一个简单的在线问答系统

随着互联网的普及和发展,各种在线问答系统也应运而生,成为人们获取信息和解决问题的有效途径之一。本文将介绍如何使用PHP语言来实现一个简单的在线问答系统,并提供具体的代码示例供读者参考。一、系统需求分析在开始开发之前,我们首先需要明确系统的需
2023-10-21

如何使用MySQL和JavaScript实现一个简单的地图标记功能

要使用MySQL和JavaScript实现一个简单的地图标记功能,你可以按照以下步骤进行操作:1. 创建数据库表:在MySQL中创建一个名为"markers"的表,用于存储标记的信息。表中可以包含以下字段: - id:标记的唯一标识符,
2023-10-10

如何使用MySQL和JavaScript实现一个简单的地图标记功能

使用MySQL和JavaScript实现简单地图标记功能,包括数据库设计步骤、JavaScript代码获取MySQL数据并在地图上显示标记的方式,以及创建PHP脚本检索数据库信息的说明。此功能使您可以在地图上动态显示和管理标记,并向标记添加描述和交互式信息窗口。
如何使用MySQL和JavaScript实现一个简单的地图标记功能
2024-04-11

使用python实现一个简单的图片爬虫

本教程详细介绍使用Python编写图片爬虫的步骤:导入库(requests、BeautifulSoup)获取目标网站的HTML代码解析HTML提取图像URL下载图像处理错误优化建议:并行下载图像使用线程池使用缓存示例脚本可从特定网站爬取特定类型的图像。最佳实践:遵守机器人协议限制爬虫速率避免下载受版权保护的图像获得必要授权
使用python实现一个简单的图片爬虫
2024-04-02

如何使用MySQL和JavaScript实现一个简单的在线投票功能

要实现一个简单的在线投票功能,你需要使用MySQL作为数据库存储投票相关数据,并使用JavaScript来处理前端的逻辑和与后端的交互。下面是一些步骤来帮助你实现这个功能:1. 创建数据库表:在MySQL中创建一个表来存储投票的选项和相关数
2023-10-10

如何使用MySQL和JavaScript实现一个简单的在线投票功能

本指南分步讲解如何使用MySQL和JavaScript构建一个在线投票系统。通过创建一个MySQL数据库,包含候选人和投票表格,可以存储选票数据。JavaScript前端允许用户选择候选人并提交投票,而Node.js后端处理投票提交并将其存储在数据库中。指南还提供测试投票功能的说明,以验证系统的正确性。
如何使用MySQL和JavaScript实现一个简单的在线投票功能
2024-04-13

使用JavaScript和CSS实现简单的字符计数器

在本文中,你将学习如何使用 JavaScript 创建字符计数器。计数的数字可以在小显示屏中看到。文中示例代码讲解详细,感兴趣的小伙伴可以了解一下
2022-11-13

如何使用MySQL和JavaScript实现一个简单的在线编辑器功能

如何使用MySQL和JavaScript构建在线编辑器本教程将指导您使用MySQL和JavaScript构建一个简单的在线编辑器,允许用户在线创建、编辑和保存文本。我们介绍了构建数据库、建立连接、获取文本、创建、编辑和保存文本的步骤。还提供了示例代码,展示了如何使用JavaScript与MySQL数据库交互。为了优化性能,我们讨论了分块读取、缓存和事务等技术。
如何使用MySQL和JavaScript实现一个简单的在线编辑器功能
2024-04-11

如何使用MySQL和JavaScript实现一个简单的在线编辑器功能

要实现一个简单的在线编辑器功能,可以通过以下步骤使用MySQL和JavaScript来实现:1. 创建一个包含两个字段的MySQL数据库表,一个用于存储文件名,一个用于存储文件内容。可以使用以下命令创建表:CREATE TABLE file
2023-10-20

Java数据结构之位图的简单实现和使用

位图, 是一种非常常见的结构, 它使用每个二进制位来存放一个值的状态, 就类似于 Java 当中 HashSet 存储元素的功能。本文主要来介绍一下位图的简单实现和使用,需要的可以参考一下
2023-05-19

怎么使用JS实现简单的图片切换功能

这篇“怎么使用JS实现简单的图片切换功能”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么使用JS实现简单的图片切换功能”文
2023-07-02

怎么使用C++ Thread实现简单的socket多线程通信

本篇内容介绍了“怎么使用C++ Thread实现简单的socket多线程通信”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!服务端多线程功能放
2023-07-02

编程热搜

目录