在uni-app使用iconfont中的图标

uni-app 如何使用iconfont中的图标

图片

在uni-app中使用Iconfont图标通常涉及以下几个步骤:

步骤一:获取Iconfont资源

  1. 访问 iconfont-阿里巴巴矢量图标库,注册并登录账号。

  2. 浏览或搜索所需的图标,将它们添加至购物车或直接创建项目进行管理。

  3.  完成图标选择后,进入“我的项目”,点击对应项目的“下载”按钮,选择“WebFont”格式下载。下载得到的压缩包通常包含以下文件:

  • iconfont.css 或 iconfont.min.css:包含字体文件的引用及样式声明。
  • iconfont.eoticonfont.ttficonfont.wofficonfont.woff2等字体文件。
  • demo_index.html:示例文件,展示如何在HTML中使用这些图标。

步骤二:整合Iconfont资源到uni-app项目

  1. 将字体文件放入项目

    • 将下载的字体文件(.eot.ttf.woff.woff2)放入uni-app项目的static目录下,例如创建一个子目录fonts存放它们,以便统一管理。

  2. 引入Iconfont样式

    • iconfont.cssiconfont.min.css文件复制到项目的static目录或uni.scss所在的样式目录(如/common)。

    • main.js或全局样式文件(如uni.scss)中通过@import语句引入Iconfont样式。例如,如果将iconfont.css放在static目录下,则引入语句如下:

      @import "~@/static/iconfont.css";

步骤三:在Vue页面或组件中使用Iconfont图标

使用Unicode编码
  • 查看下载包中的demo_index.html或直接在Iconfont网站上查看每个图标的Unicode编码。

  • 在Vue模板中,使用<text>标签结合v-for循环(如果有多图标)或直接插入Unicode编码来显示图标:

    <template><view><!-- 单个图标 --><text class="iconfont">图标Unicode编码</text><!-- 循环显示多个图标 --><view v-for="(icon, index) in iconsList" :key="index"><text class="iconfont">{{ icon.unicode }}</text></view></view>
    </template>
  • 确保在CSS中为.iconfont类设置合适的字体家族,通常在iconfont.css中已经定义好,如:

    .iconfont {font-family: "iconfont" !important;/* 可以添加其他样式如颜色、大小等 */
    }
使用类名
  • 如果iconfont.css中为每个图标定义了特定的类名(如.icon-name:before),则可以直接在Vue模板中使用这些类名:

    <template><view><i class="iconfont icon-name"></i></view>
    </template>

注意事项

  • 确保引入的样式文件路径正确,如果使用绝对路径(如~@/static/...),确保构建工具能够正确解析。

  • 如果项目中同时使用多种字体图标,需注意图标库间的样式隔离,避免相互影响。

  • 对于小程序端,由于其限制,可能需要额外配置或使用特定的插件来支持Iconfont字体图标。

通过上述步骤,您可以在uni-app项目中顺利地使用从Iconfont获取的图标。

根据实际项目需求和Iconfont提供的CSS样式,选择合适的使用方式(Unicode编码或类名)将图标融入到您的界面设计中。

uni-app 如何使用iconfont中的多色图标?

在uni-app中使用Iconfont中的多色图标,需要遵循不同的引入和使用流程,因为多色图标通常不是通过传统的Web字体(TTF、WOFF等)实现,而是利用SVG Sprite技术。以下是具体步骤:

步骤一:获取多色图标资源

  1. 访问阿里巴巴Iconfont网站,确保已登录账号。

  2. 选择或搜索所需的多色图标,将其添加至项目或购物车。

  3. 进入“我的项目”,找到包含多色图标的项目,点击“下载”按钮,选择“Symbol引用”或“SVG Sprite”格式下载。下载得到的文件通常包括:

    • symbol/iconfont.svg:SVG Symbol Sprite文件。

    • symbol/iconfont.js:用于动态加载SVG Sprite的JavaScript文件(可选,视项目需求而定)。

    • demo_index.html:示例文件,展示如何在HTML中使用这些多色图标。

步骤二:整合多色图标资源到uni-app项目

  1. 将SVG Sprite文件放入项目

    • iconfont.svg文件放入uni-app项目的static目录下,例如创建一个子目录svg存放它。

  2. (可选)引入动态加载脚本

    • 如果下载包中包含了iconfont.js,将其放入项目合适的位置(如static/js目录),并在需要使用多色图标的页面的index.html或全局模板中通过<script>标签引入。例如:

      <script src="/static/js/iconfont.js"></script>

步骤三:在Vue页面或组件中使用多色图标

直接引用SVG Symbol
  •  在Vue模板中,使用<svg>标签结合use元素来引用SVG Sprite中的多色图标:

    <template><view><svg><use xlink:href="#图标ID"></use></svg></view>
    </template>
  • 其中,“图标ID”是SVG Symbol中的唯一标识符,可以通过查看iconfont.svg文件或示例demo_index.html来获取。

(可选)使用动态加载脚本
  • 如果引入了iconfont.js,按照其文档或示例中的用法,在Vue组件中调用相应的函数来加载和插入多色图标。通常会提供类似Iconfont.init()的方法,使用时可能需要传入SVG Sprite的URL或其他配置项。

注意事项

  • 多色图标依赖于浏览器对SVG和SVG Sprite的支持,大多数现代浏览器都支持这些特性。

  • 在uni-app的小程序端,需要确保目标平台(如微信小程序、支付宝小程序等)支持SVG的使用。部分平台可能需要额外配置或使用插件来支持SVG。

  • 如果使用直接引用SVG Symbol的方式,确保xlink:href属性中的URL相对于页面的根路径正确。如果图标加载不成功,检查路径是否正确以及服务器是否正确返回SVG文件。

通过以上步骤,您可以在uni-app项目中成功地使用从Iconfont获取的多色图标。

根据项目需求和平台兼容性,选择合适的引入和使用方式(直接引用SVG Symbol或使用动态加载脚本)来展示多色图标。

uni-app 中如何使用uni-icons引用iconfont图标

uni-icons 图标组件名:uni-icons(已支持 uni-app x) 

基本用法

<uni-icons type="contact" size="30"></uni-icons>

Icons Props

属性名类型默认值说明
sizeNumber24图标大小
typeString-图标图案,参考示例
colorString-图标颜色
customPrefix[即将废弃]String-自定义图标
fontFamilyString-自定义图标 2.0.0+支持

通过 fontFamily 自定义图标

  • 引入字体图标

  • 页面 style 中定义 font-family 属性,并正确引入字体

@font-face {font-family: CustomFont;src: url('./iconfont.ttf');
}
  • 组件声明 fontFamily 属性,值为 步骤2 的 font-family ,此时组件的 type 属性将不生效

  • 组件内需要使用字体的 unicode 码作为图标显示内容

<uni-icons fontFamily="CustomFont" :size="26">{{'\uebc6'}}</uni-icons>
  • 方便使用扩展,推荐将 unicode 与显示内容做一个map映射

<template>
<view class="icon-content"><view v-for="(item,index) in customIcons" :key="index"><uni-icons fontFamily="CustomFont" >{{item.unicode}}</uni-icons><text>{{item.name}}</text></view>
</view>
</template>
<script>
export default {data() {return {icons: [],customIcons: [{name: "home",unicode: "\ue601",},{name: "my",unicode: "\ue6ba",},{name: "back",unicode: "\ue634",}]}},created() {},
}
</script>
<style>
@font-face {font-family: CustomFont;src: url('./iconfont.ttf');
}
</style>

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

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

相关文章

Ubuntu 23.10.1 nginx源码安装

注&#xff1a;以下所有命令均在root管理员模式下&#xff0c;若不是&#xff0c;请在所有命令前加sudo 1、安装依赖库 1.1、安装gcc g的依赖库 apt-get install build-essential apt-get install libtool1.2、安装pcre依赖库 apt-get update apt-get install libpcre3 lib…

[蓝桥杯 2018 省 A] 付账问题

【蓝桥杯】付账问题 [蓝桥杯 2018 省 A] 付账问题 题目描述 几个人一起出去吃饭是常有的事。但在结帐的时候&#xff0c;常常会出现一些争执。 现在有 n n n 个人出去吃饭&#xff0c;他们总共消费了 S S S 元。其中第 i i i 个人带了 a i a_i ai​ 元。幸运的是&#…

【opencv】示例-ffilldemo 使用floodFill()函数进行区域泛洪填充

image mask mask #include "opencv2/imgproc.hpp" // 包含OpenCV图像处理头文件 #include "opencv2/imgcodecs.hpp" // 包含OpenCV图像编码头文件 #include "opencv2/videoio.hpp" // 包含OpenCV视频IO头文件 #include "opencv2/highgui.hp…

【分享】3种方法取消Word文档的“打开密码”

我们知道&#xff0c;Word文档可以设置“打开密码”&#xff0c;防止文档被随意打开&#xff0c;那后续不需要密码保护了&#xff0c;要怎么取消呢&#xff1f;不小心把密码忘记了还可以取消吗&#xff1f;不清楚的小伙伴一起来看看吧&#xff01; 如果是Word文档不再需要密码…

C++ std::string 和std::map实现原理

std::string 和 std::map 在 C 中的实现原理基于不同的数据结构&#xff0c;但都提供了高效的操作和灵活性。 std::string 实现原理 std::string 是 C 标准库中的一个类&#xff0c;它提供了一系列用于处理字符串的方法。它的实现通常依赖于以下特性&#xff1a; 动态数组&am…

Open3D(C++) 0~1归一化到0~255

目录 一、算法原理二、代码实现三、结果展示四、参考链接本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫与GPT。 一、算法原理 0-1归一化到0~255的计算原理如下: g ′ = 255 ∗

冯喜运:4.15汇市观潮:现货黄金美原油技术分析

【 黄金消息面分析】&#xff1a;周一(4月15日)亚市盘初&#xff0c;金价开盘跳涨13美元&#xff0c;报2357.71美元/盎司&#xff0c;随后延续涨势&#xff0c;最高触及2372.45美元/盎司&#xff0c;目前金价回落至2354.19美元/盎司&#xff0c;如果中东局势未进一步恶化&#…

通过注解实现接口入参检查

valid 通过注解实现接口入参检查 前言一、引入依赖二、使用步骤1.创建入参对象 request2.提供一个接口 controller3.全局异常捕获 GlobalExceptionHandler4.执行结果 总结 前言 作为一个后端开发&#xff0c;一般是不单独对接口参数的每个入参进行长度、最大值、最小值判断。 …

TypeScript极速入门笔记1

TypeScript 可以编译成纯 JavaScript&#xff0c;编译出来的 JavaScript 可以运行在任何浏览器上。 一、基础语法 1、基础类型 数字类型&#xff08;number&#xff09;&#xff1a;双精度 64 位浮点值。它可以用来表示整数和分数。 字符串类型&#xff08;string&#xff0…

多线程8

void 取款(){int oldBalance balance if(!CAS(balance,oldBalance,oldBalance-500)){}} 在这个线程中如果变成了这样 void 取款(){int oldBalance balancevoid 取款(){int oldBalance balance if(!CAS(balance,oldBalance,oldBalance-500)){}有人转账发生了500->1000。} i…

RN向上向下滑动组件封装(带有渐变色)

这段组件代码逻辑是出事有一个View和下面的块,下面的块也就是红色区域可以按住向上向下滑动,当滑动到屏幕最上面则停止滑动,再向上滑动的过程中,上方的View的背景色也会有个渐变效果,大概逻辑就是这样 代码如下 import React, {useEffect, useRef, useState} from react; impo…

爱自然生命力专项基金:“爱·启航”残障家庭教育援助项目帮扶上万残障家庭

为进一步积极践行社会责任&#xff0c;助力公益慈善事业&#xff0c;2017年2月爱自然生命力体系与中国下一代教育基金会开展相关合作&#xff0c;共同启动了中国下一代教育基金会爱自然生命力专项基金&#xff0c;并启动了基金第一个项目“爱启航残障家庭教育援助项目”&#x…

华为昇腾AI芯片加持,9.1k Star 的 Open-Sora-Plan,国产Sora要来了吗

Aitrainee | 公众号&#xff1a;AI进修生 哇&#xff0c;今天Github趋势榜第一啊&#xff0c;为了重现Sora&#xff0c;北大这个Open-Sora-Plan&#xff0c;希望通过开源社区力量的复现Sora&#xff0c;目前已支持国产AI芯片(华为昇腾&#xff09;&#xff0c;这回不用被卡脖子…

Task的Wait(...)方法重载与CancellationTokenSource任务取消; Task ContinueWith方法()

//任务的Wait方法; //模拟一个执行时间为5S的Task任务&#xff0c;因为任务是异步的&#xff0c;所以不阻塞主线程 Task t_delay Task.Delay(5000); Task.WaitAll(new Task[] { t_delay }); //任务对象的Wait()方法,等待当前任务结束后继续往下执行 Task t_delay001 Task…

亚马逊欧盟站空调CE认证 EN14511标准

空调作为一种能够带来舒适凉爽的家居设备&#xff0c;已经成为现代家庭生活中不可或缺的一部分。这导致空调这个产品成为了亚马逊的热卖产品&#xff0c;空调上架亚马逊欧盟站&#xff0c;卖家需要提交CE认证 EN14511标准资质&#xff0c;证明您的产品是符合欧盟标准的&#xf…

(学习日记)2024.04.17:UCOSIII第四十五节:中断管理

写在前面&#xff1a; 由于时间的不足与学习的碎片化&#xff0c;写博客变得有些奢侈。 但是对于记录学习&#xff08;忘了以后能快速复习&#xff09;的渴望一天天变得强烈。 既然如此 不如以天为单位&#xff0c;以时间为顺序&#xff0c;仅仅将博客当做一个知识学习的目录&a…

An Investigation of Geographic Mapping Techniques for Internet Hosts(2001年)第二部分

​下载地址:An investigation of geographic mapping techniques for internet hosts | Proceedings of the 2001 conference on Applications, technologies, architectures, and protocols for computer communications 被引次数:766 Padmanabhan V N, Subramanian L. An i…

【原创】springboot+mysql宠物管理系统设计与实现

个人主页&#xff1a;程序猿小小杨 个人简介&#xff1a;从事开发多年&#xff0c;Java、Php、Python、前端开发均有涉猎 博客内容&#xff1a;Java项目实战、项目演示、技术分享 文末有作者名片&#xff0c;希望和大家一起共同进步&#xff0c;你只管努力&#xff0c;剩下的交…

用html写一个雨的特效

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>雨特效</title><link rel"stylesheet" href"./style.css"> </head> <body> <div id"wrap-textu…

VLAN配置不求人:华为设备配置详解

实验拓扑 实验需求 1.全网有VLAN10&#xff0c;VLAN20&#xff0c;VLAN30 2.VLAN10/20/30,192.168.10/20/30.0 3.配置Trunk, Access,Trunk封装使用Dot1q 4.Trunk的模式使用收到形成mode on 5.所有vlan的网关在router 6.单臂路由来实现所有的通讯 7.VLAN30是所有网络设备…