uni-app小程序引入iconfont的三种方式详解(无需下载文件到项目)

这篇具有很好参考价值的文章主要介绍了uni-app小程序引入iconfont的三种方式详解(无需下载文件到项目)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

重要背景说明

官网iconfont的引入方式有三种分别为:UnicodeFont classSymbol
其中已明确说明 Unicode、Font class 这两种引入方式 不支持多色

uni-app小程序引入iconfont的三种方式详解(无需下载文件到项目)
uni-app小程序引入iconfont的三种方式详解(无需下载文件到项目)
单色如何理解呐?具体请看效果对比图(左图为UI上传的图标样式,右边为我们使用这两种方式引入后不加任何样式的效果)
uni-app小程序引入iconfont的三种方式详解(无需下载文件到项目)
是不是很丑?
另外,如果各位小伙伴公司的UI提供的图标大多数为多色图标,如图所示,那我们怎么办呐?

uni-app小程序引入iconfont的三种方式详解(无需下载文件到项目)

只能选用Symbol方式引入。

uni-app小程序引入iconfont的三种方式详解(无需下载文件到项目)
但,
哎妈呀,巧就巧在小程序它不支持Symbol方式的引入。
不信?
试试引入喽,控制台大大的“红色报错”等着你哦~

uni-app小程序引入iconfont的三种方式详解(无需下载文件到项目)
基于以上背景调研的情况,
那么我们究竟该如何在小程序中使用iconfont呐?咱们直接上代码!

一:Unicode

1.新建一个css文件

@font-face {
   font-family: 'iconfont';  /* project id 3067819 */
   src: url('//at.alicdn.com/t/xxx.eot');
   src: url('//at.alicdn.com/t/xxx.eot?#iefix') format('embedded-opentype'),
   url('//at.alicdn.com/t/xxx.woff2') format('woff2'),
   url('//at.alicdn.com/t/xxx.woff') format('woff'),
   url('//at.alicdn.com/t/xx.ttf') format('truetype'),
   url('//at.alicdn.com/t/xxx.svg#iconfont') format('svg');
}

.iconfont {
   font-family: "iconfont" !important;
   font-size: 14px;
   font-style: normal;
   -webkit-font-smoothing: antialiased;
   -moz-osx-font-smoothing: grayscale;
}

2.在App.vue文件中,引入上边的css文件

@import './static/iconfont.css';

3.随后就可以在页面中使用它了

<text class="iconfont">&#x68;</text>

二:Font class

1.拷贝项目下面生成的fontclass代码://at.alicdn.com/t/xxx.css,
2.粘贴到浏览器中,可以看到该链接请求到一些资源代码,复制它们,
3.回到自己的项目中去,新建一个css文件,并将第2步中请求到的资源代码,粘贴到该文件

至此,三步就可以拿到所有UI小伙伴上传的所有iconfont图标了,并且此时新建的css文件具体是长这样:
uni-app小程序引入iconfont的三种方式详解(无需下载文件到项目)
PS:细心地你会发现,此时的这个css资源文件比Unicode中的css文件,多了下边的这些行代码。

4.在App.vue文件中,引入上边的css文件

@import './static/iconfont.css';

5.在页面中使用

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

至此,iconfont的前两种方式就引入成功,并且可以使用了。

总结:这两种引入方式大同小异。
Unicode 的css文件比较简洁,在页面中使用时要实时关注iconfont上的图标代码。
Font class 的css文件是无脑式的复制粘贴式代码集合,在页面中使用时更具有语义化。例如:icon-ren就知道是个人的图标,icon-duigou就知道是个勾选图标,icon-phone、icon-password等等,我们在开发过程中不用去每个查看过去就知道该用什么(当然前提是已于自己的UI小伙伴沟通好了命名规则哦~~)
uni-app小程序引入iconfont的三种方式详解(无需下载文件到项目)

多说一句

以上两种方式的引入,对于单色和双色图标又有什么样的影响呐?我们具体根据贴图来看:

  1. 单色图标:
    uni-app小程序引入iconfont的三种方式详解(无需下载文件到项目)
    需要我们可以加上一个color样式修饰,才能够达到UI的图标效果
color:#d1dfec

效果图如图所示:
uni-app小程序引入iconfont的三种方式详解(无需下载文件到项目)

2.多色图标
uni-app小程序引入iconfont的三种方式详解(无需下载文件到项目)
如果按照单色图标的修饰方式,我们给加上color样式
uni-app小程序引入iconfont的三种方式详解(无需下载文件到项目)

形成的效果图显然不是我们想要的!
那么,
最,最,具有前景式的多色图标Symbol出场了…

三:Symbol

上边也交代了说小程序是不支持Symbol的引入方式的,因此我们要用到一个工具库 iconfont-tools

具体操作步骤如下(保姆级图片式教学):
1.登录iconfont找到项目资源目录,点击“下载至本地”,并解压下载的压缩包文件。
ps:随便你电脑上的任何地方
uni-app小程序引入iconfont的三种方式详解(无需下载文件到项目)
2.进入到解压后的文件夹中,打开黑窗口,执行命令行安装iconfont-tools工具,如图所示:
uni-app小程序引入iconfont的三种方式详解(无需下载文件到项目)

3.已经安装了iconfont-tools工具了,那么我们现在就要开始使用它了。它可以帮助我们生成一个css文件,这个css文件里边包含了我们所有的图标。
uni-app小程序引入iconfont的三种方式详解(无需下载文件到项目)

4.查看生成的iconfont-weapp文件,并且将iconfont.css文件拖到我们的项目目录下,如果使用预处理器,可手动将该文件后缀更改为scss/sass
uni-app小程序引入iconfont的三种方式详解(无需下载文件到项目)
5.在App.vue文件中,引入上边的css文件

@import './static/iconfont.css';

6.在页面中使用

<text class="icon icon-xxx"></text>

至此,借助工具iconfont-tools以Symbol的方式引入iconfont就大功告成了!效果图如下:
uni-app小程序引入iconfont的三种方式详解(无需下载文件到项目)

分析

上述黑窗口中的设置项,这里统一做一下解释:

(1)设置输出文件夹名称:设置使用工具后,会自动生成一个文件夹,这里设置的是生成的文件夹的名称,默认是iconfont-weapp;
(2)设置输出文件css文件名称:生成的文件夹iconfont-weapp下,包含的一个css文件,这个文件是我们最终要使用的文件,是要拖到项目中去的。这里去设置这个css文件的名称,默认是iconfont-weapp-icon;
(3)设置css文件的prefix:即设置使用时的class类名,默认是t-icon;
(4)设置字体大小:设置图标的默认大小font-size,默认是16px;
(5)是否生产小程序原生组件:实践后发现无论选择true或者false,iconfont-weapp文件夹内的内容不会发生变化。因此这里的选择个人认为都ok,不会影响最终使用。默认是true

如果无特别想自定义的话,均可enter下去。
这里我进行了自定义将文件名设置为iconfont,类名设置为了icon,生成的css文件如图所示:
uni-app小程序引入iconfont的三种方式详解(无需下载文件到项目)
其实,我们可以理解为这个工具是帮我们把图标转成了base64格式,
然后,我们在使用图标的时候其实是给标签加了一个background属性,
所以,才呈现出了多色图的效果!!

uni-app小程序引入iconfont的三种方式详解(无需下载文件到项目)

happy end文章来源地址https://www.toymoban.com/news/detail-488910.html

到了这里,关于uni-app小程序引入iconfont的三种方式详解(无需下载文件到项目)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 在uni-app项目中简单使用iconfont字体图标

    1.1 减小打包体积,一些平台如微信小程序等在发布时有体积限制,大量使用静态资源会使得打包体积容易超出限制 1.2 字体图标是矢量的,缩放不失真、模糊 1.3 对比引用多个网络图标,字体图标只需一个css文件即可,因此减少了网络请求次数,同时比下载图片节约流量 2.1

    2024年02月05日
    浏览(61)
  • 小程序中引入外部字体的三种方式以及出现的问题

    需求:输入一段标题后,可选择不同的字体显示在页面上。 免费的商用字体下载链接: 链接: https://pan.baidu.com/s/1XLabx_xzC5kJycv7ejJU8Q 提取码: ka4r 1、打开https://transfonter.org/ 2、引入ttf或其他格式的文件,勾选banse64格式输出 3、将输出的文件下载到本地,引入到wxss里面 优点 :加

    2024年02月09日
    浏览(44)
  • uni-app引入地图map组件--APP开发

    需求场景:使用uni-app地图组件,实现APP开发 开发环境:Mac,HbuildX3.4.14 测试环境:iOS真机调试 一、流程 1、关于Uini-app的map组件:官方文档说明。map组件是原生组件,目前只针对原生APP开发,因此通过app-nvue实现,同时选择的地图服务商只能是高德地图。 2、创建高德地图应用

    2024年02月15日
    浏览(65)
  • uni-app 微信小程序vendor.js 过大的处理方式和分包优化

    小程序工具提示vendor.js过大,已经跳过es6向es5转换。这个转换问题本身不用理会,因为vendor.js已经是es5的了。 关于体积控制,参考如下: 使用运行时代码压缩 HBuilderX创建的项目勾选运行–运行到小程序模拟器–运行时是否压缩代码 cli创建的项目可以在 package.json 中添加参数

    2024年02月11日
    浏览(76)
  • 【uni-app项目如何引入 uView组件库】

    uView官方文档 第一步: 在公司创建完成uniapp项目后引入uView 第二步: 您如果是使用HBuilder X创建的uniapp项目,使用uView组件库的话需要在HBuilder X下载插件库 下载 uni_modules ,(如果这个看不懂可以看官方文档) (1) HBuilder X插件库中下载 uni_modules 现在是已经将 uView导入到项目中了

    2024年02月05日
    浏览(59)
  • vue项目引入element-ui的三种方式

    通过执行命令vue add element来进行引入 通过执行命令npm i element-ui -S安装依赖 main.js文件引入element-ui main.js文件全局引入element-ui样式 安装babel-plugin-component 修改babel.config.js文件 main.js按需引入组件

    2024年02月11日
    浏览(50)
  • uni-app 多端操作引入vant 避坑亲测版~

    我uni选择的是v3版本,项目目前是做h5以后会扩展到小程序以此为前提 uni-app引入vant3 h5 可以使用但是 微信小程序 打不开! 引入 vant-weapp微信小程序 有效果 h5识别不到,然后网上搜的帮助都不大,写篇文章希望可以帮到你们,也给自己留个文章做记录——以下开始 vant-weapp 网

    2024年02月09日
    浏览(46)
  • 使用vue2开发uni-app项目--引入uview-ui

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 一、安装 1、安装uview-ui 2、安装scss支持 二、配置 1、在main.js中引入uView库 2、uni.scss文件中引入uView的全局SCSS主题文件  3、在APP.vue文件中引入uView基础样式 4、在pages.json中 配置easycom组件模式

    2024年02月04日
    浏览(66)
  • 【Uni-app 引入海康h5player并接入ws视频流】

    内容简介 采用uni-app中的renderjs 引入海康H5 SDK 后端接入海康综合安防平台的开放API获取预览流 海康H5 SDK 下载地址 接入原因 因在移动端接入不管是hls flv rtsp rtmp流的播放稳定性和速度均很慢,特采用ws直连流来播放,效率很稳定性均显著提高。因采用前者流可以直接使用原生

    2024年02月11日
    浏览(88)
  • uni-app引入海康威视h5player实现视频监控的播放

    知识储备 uni-app web-view组件相关知识:点击学习。 海康威视相关工具下载:点击跳转下载。 web-view组件不全屏显示:uni-app web-view 如果设置不全屏 不自动铺满。 工具下载 首先下载海康威视h5player的demo 在uni-app项目中static文件夹下创建文件目录,我命名为h5player 将demo中bin文件

    2024年02月02日
    浏览(60)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包