微信小程序使用iconfont字体图标

阿里矢量图标库使用指南
本文详细介绍了如何从阿里巴巴矢量图标库中选择并使用图标。步骤包括:选择图标加入购物车,添加至项目,下载并解压文件,复制iconfont.css至项目中,最后通过<icon>标签在页面中调用图标。

1、在阿里巴巴矢量图标库选择你要的图标https://www.iconfont.cn/,加入购物车

2、点击右上角购物车,添加到项目

3、下载至本地

4、解压后,复制iconfont.css到app.wxss

5、使用:

<icon class='iconfont icon-renwu'></icon>

6、也可以复制iconfont.css到自己新建的一个样式表如:icon.wxss,然后使用@import引入外联样式表

如: @import "../style/icon.wxss";

使用方法一致:

<icon class='iconfont icon-renwu'></icon>

 

<think>我们正在讨论微信小程序使用iconfont字体图标不显示的问题。根据之前的对话历史,用户希望得到解决方案。我将提供结构清晰的解决方案,并参考相关的站内引用(如果有的话),但由于当前上下文没有提供具体的引用来源,我将专注于通用解决方案。解决方案步骤:1.**正确引入字体文件**:在小程序中,我们需要将iconfont字体文件(通常是.ttf或.otf格式)转换为base64格式,因为小程序不支持直接引用外部字体文件。我们可以使用在线工具(如transfonter)将字体文件转换为base64,然后在小程序的样式文件中引入。2.**创建字体样式**:在app.wxss中定义字体样式,例如:```css@font-face{font-family:'iconfont';src:url('data:application/x-font-ttf;charset=utf-8;base64,转换后的base64字符串')format('truetype');}.iconfont{font-family:"iconfont"!important;font-size:16px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}```3.**使用图标**:在组件的wxml文件中,使用类名`iconfont`和对应图标的unicode字符。例如:```html<textclass="iconfont"></text>```4.**检查字符编码**:注意,在wxml中,unicode字符应该使用十进制或十六进制的形式。通常,我们在iconfont官网上复制的是十六进制(如`&#x`开头),但有时小程序可能需要十进制。确保在wxml中使用的字符编码与iconfont项目中的一致。5.**常见问题排查**:-字体文件路径是否正确?-转换的base64字符串是否完整?-字体名称是否一致?-是否在页面或组件的wxss中覆盖了.iconfont的样式?-检查图标的unicode是否输入正确。6.**使用阿里图标库的官方方法**:阿里图标库提供了“生成代码”的功能,我们可以选择Base64格式,然后下载并获取到base64字符串。然后将此字符串替换到@font-face中的src属性即可。7.**注意小程序包大小限制**:转换为base64后,字体文件会增大约1/3,注意小程序的包大小限制(主包或整个小程序不超过2M,分包不超过2M)。如果图标很多,建议只选择需要的图标,减少字体文件体积。8.**使用weapp-iconfont组件**:也可以使用第三方组件,如`weapp-iconfont`,它已经处理了兼容性问题。但要注意,使用第三方组件可能会增加包大小,并且需要按照其文档使用。9.**真机调试**:由于开发工具和真机环境可能存在差异,建议在真机上进行调试。参考站内引用:[^1]§§相关问题§§1.微信小程序支持哪些格式的字体文件?2.如何将.ttf字体文件转换为base64编码?3.微信小程序中除了iconfont,还有哪些图标使用方案?</think> 对于微信小程序使用 iconfont 字体图标不显示的问题,以下是完整的解决方案和排查步骤: ### 解决方案 1. **正确引入字体文件** - 将下载的 `iconfont.ttf` 文件通过 [Iconfont转换工具](https://transfonter.org/) 转换为 base64 格式 - 在 app.wxss 中全局声明字体: ```css @font-face { font-family: 'iconfont'; src: url('data:application/x-font-ttf;charset=utf-8;base64,转换后的base64字符串') format('truetype'); } .iconfont { font-family: "iconfont" !important; font-size: 16px; } ``` 2. **组件使用规范** - WXML 中使用 `<text>` 标签: ```html <text class="iconfont"></text> ``` - 必须使用 `&#x` + 图标代码(在 iconfont.css 中查看) 3. **文件路径验证** - 检查图标文件是否放在小程序目录中(推荐位置:`/static/iconfont/`) - 确认 wxss 中路径引用正确: ```css @font-face { src: url('/static/iconfont/iconfont.ttf'); } ``` 4. **字符编码匹配** -iconfont 项目设置中开启 **Base64** 和 **Unicode** 选项 - 确保组件中使用的 Unicode 值与下载的 CSS 文件完全一致 5. **字体加载策略** ```javascript // app.js 中添加字体预加载 wx.loadFontFace({ family: 'iconfont', source: 'url("https://xxx/iconfont.ttf")', success: console.log, fail: console.error }) ``` ### 常见问题排查 1. **控制台报错:加载字体失败** - 解决方案:将字体文件添加到小程序后台 **"下载文件"** 合法域名 2. **iOS 不显示但安卓正常** - 原因:iOS 需要 .woff 格式字体 - 解决方案:在 iconfont 下载时选择 **WOFF** 格式 3. **图标显示为方块** - 检查 Unicode 值是否包含多余的 `;`(正确格式:`&#xe601`) - 确认 CSS 中 font-family 命名与组件使用一致 4. **图标模糊** - 设置合适的 font-size 和 line-height: ```css .iconfont { font-size: 40rpx; line-height: 1; } ``` ### 最佳实践建议 1. 使用阿里官方 **小程序模式** (勾选 `平台适配-微信小程序`) 2. 定期更新字体文件(修改图标后需重新下载) 3. 复杂项目推荐使用 [weapp-iconfont](https://github.com/iconfont-cli/weapp-iconfont) 插件自动构建 > 通过以上方法,可解决 95% 的图标显示问题。真机调试时如仍有异常,请检查微信客户端版本是否过旧[^1]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LLL_LH

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值