小程序中引入外部字体的三种方式以及出现的问题

这篇具有很好参考价值的文章主要介绍了小程序中引入外部字体的三种方式以及出现的问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

需求:输入一段标题后,可选择不同的字体显示在页面上。

免费的商用字体下载链接:

链接: https://pan.baidu.com/s/1XLabx_xzC5kJycv7ejJU8Q 提取码: ka4r

方法一:本地引入

1、打开https://transfonter.org/
小程序中引入外部字体的三种方式以及出现的问题

2、引入ttf或其他格式的文件,勾选banse64格式输出
3、将输出的文件下载到本地,引入到wxss里面

优点:加载速度快,变换字体的过程几乎看不见,用户体验好
缺点:转为base64后文件一般过大,如果太多字体文件会影响性能,小程序打包时最大不能超过2M,就需要分包处理;也可以指定文字进行输出,这样文件会小很多。

方法二:css外链形式引入

1、将ttf文件放到服务器中;
2、新建一个wxss文件,写入以下代码:

@font-face {
  font-family: "HarmonyOSHeiTi";  /* 这里的字体名称是自定义的 */
  src: url("https://h5.amemori.cn/h5/font-css/1.ttf"); /* 服务器上ttf文件的路径,记得配置域名权限 */
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "ALiPuHui";
  src: url("https://h5.amemori.cn/h5/font-css/2.otf");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

3、在需要用到的css页面引入该文件并使用字体:

@import '../font/font-family.wxss';

text{
  font-family: "HarmonyOSHeiTi";
}

优点:不占用小程序内存
缺点:更换字体时有延迟,用户会明显的看到更换字体的过程。

方法三:js外链形式引入

1、在需要用到的页面的js文件,onLoad中写入:

wx.loadFontFace是微信官方动态加载网络字体方法:https://developers.weixin.qq.com/miniprogram/dev/api/ui/font/wx.loadFontFace.html

  onLoad(options) {
    wx.loadFontFace({
      family: 'HarmonyOSHeiTi',
      source: 'url("https://h5.amemori.cn/h5/font-css/1.ttf")',
      complete: function (res) { console.log('插入字体'); console.log(res); },
      success: function (res) { console.log('成功'); console.log(res); },
      fail: function (res) { console.log('失败'); console.log(res); },
    })
  },

2、在wxss中直接使用family中定义的字体就可以啦。
优缺点同方法二

四、出现的问题以及解决方法:

开发工具和ios都显示正常,但是安卓机字体设置无效
解决办法:服务器配置cors,即可解决。

小程序中引入外部字体的三种方式以及出现的问题文章来源地址https://www.toymoban.com/news/detail-493116.html

到了这里,关于小程序中引入外部字体的三种方式以及出现的问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 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日
    浏览(39)
  • 【微信小程序】使用自定义字体的三种方法

    小程序官方提供的接口,最便捷的加载字体的方法,不过限制颇多。必须https且同源,canvas等原生组件不支持。注意!!使用本地文件无效,必须使用网络地址。 官方文档:wx.loadFontFace(Object object) | 微信开放文档 演示代码: 传统的css规则,跟loadFontFace限制一样,必须https且同

    2024年02月08日
    浏览(32)
  • MATLAB迭代的三种方式以及相关案例举例

    MATLAB矩阵的分解函数与案例举例 MATLAB当中线性方程组、不定方程组、奇异方程组、超定方程组的介绍 MATLAB语句实现方阵性质的验证 MATLAB绘图函数的相关介绍——海底测量、二维与三维图形绘制 MATLAB求函数极限的简单介绍 文章目录 系列文章目录 前言 一、三种迭代方式介绍

    2024年02月12日
    浏览(29)
  • selenium中的三种等待方式以及显示等待和隐式等待区别

    selenium中一般分为三种等待方式:显示等待、隐式等待、sleep强制等待 1、显示等待(有条件) 程序提前指定等待条件和等待时间,在查找元素时,判断规定时间内是否满足条件,满足则继续执行,不满足或超出时间则抛出异常 2、隐式等待(无条件) 程序提前指定等待时间,在查

    2024年02月12日
    浏览(31)
  • 大数据Flink(五十九):Flink on Yarn的三种部署方式介绍以及注意

    文章目录 Flink on Yarn的三种部署方式介绍以及注意 一、Pre-Job 模式部署作业

    2024年02月13日
    浏览(30)
  • 小程序绑定跳转视频号的三种方式

    一、跳转方式 小程序绑定视频号需要用户打开视频号助手channels.weixin.qq.com,复制视频号ID username,和需要绑定的视频ID feedId,两者缺一不可。 关键代码: 二、内嵌视频号视频 从基础库版本2.25.1至2.31.1,小程序需与视频号视频相同主体或关联主体 从基础库版本2.31.1开始,非

    2024年02月03日
    浏览(41)
  • H5页面跳转小程序的三种方式

    实际开发中,小程序和H5往往有很多业务场景需要来回跳转,这里主要介绍三种跳转方式供大家参考。 场景:微信小程序登录有时候需要和公众号进行绑定,获取公众号code和appid传给后台进行绑定 该接口用于获取小程序 scheme 码,适用于短信、邮件、外部网页、微信内等拉起

    2024年01月25日
    浏览(54)
  • 西门子S7-300/400的三种程序上传/下载方式

    MPI(协议)下载对应的电气口是485口(硬件)。需要用到USB-485西门子专用编程电缆。 DP(协议)下载对应的电气口也是485口(硬件)。同样需要用到USB-485西门子专用编程电缆。 电气接口和MPI的485电气接口一样(有时候是同一个)。 TCP/IP(协议)下载对应的电气口是网卡(

    2023年04月16日
    浏览(103)
  • 设置浏览器显示小于12px以下字体的三种方法

    以往设计图给的字号一般最小就是12px, 开发人员一般是使用谷歌浏览器来进行调试运行。 谷歌浏览器上显示字体最小为12px,css设置font-size:10px,运行代码显示结果仍然是12px大小,但是挡不住甲方有时就是强调使用的字号,必须是特别小的字号,就比如说某些网站设计的噱

    2023年04月12日
    浏览(28)
  • uniapp(vue3) - 微信小程序平台使用import引入外部js文件出现undefined,正常引入js文件(sdk插件)文件路径正确但console.log控制台打印时却是undefined

    注:uniapp 小程序平台! 在使用 uniapp 微信小程序端导入 SDK 的过程中,您可能会遇到这样的情况: 使用 console.log() 打印导入的模块名称时,实际输出的名称并不是您期望的名称。这是因为 uniapp 进行了编译和打包处理后,会将代码重新命名以减小文件大小和提高执行效率,包

    2024年02月10日
    浏览(61)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包