uniapp字体

在uniapp开发中遇到了很多关于字体的坑,记录一下。

app中字重的问题

在使用font-weight时安卓端只支持normal(400)bold(700),iosiOS 支持 9 种 uniapp.dcloud.net.cn/tutorial/nv... 所以导致了在安卓手机上,字重不够细腻。

解决方法:

css 复制代码
@font-face {
	font-family: 'hmRegular';
	src: url('/static/font/hm/HarmonyOS_Sans_SC_Regular.ttf');
}
@font-face {
	font-family: 'hmMedium';
	src: url('/static/font/hm/HarmonyOS_Sans_SC_Medium.ttf');
}
@font-face {
	font-family: 'hmBold';
	src: url('/static/font/hm/HarmonyOS_Sans_SC_Bold.ttf');
}

以鸿蒙字体为例,引入不同字重的字体,只用font-family来控制字体的粗细,不使用字重。

动态加载字体

uniapp.dcloud.net.cn/api/ui/font... 看起来好像没什么问题,但需要仔细看他们的tips(引入中文字体,体积过大时会发生错误,建议抽离出部分中文,减少体积,或者用图片替代)

没错,果然没这么容易,发生了错误,引用了9M的文件。

字体加载缓慢的问题

因为使用了3个9M的文件,想让文件小一点,就用工具压缩成其他格式,但是在真机体验时发现了问题,页面在打开时,好几秒都是白屏的(这些被压缩的字体需要先解压)。

解决方法:普通的字体使用ttf格式,其他加粗的字体还是使用压缩过的,这样做几乎无感。

相关推荐
quikai198120 小时前
python练习第六组
java·前端·python
用户479492835691520 小时前
0.1加0.2为什么不等于0.3-答不上来的都挂了
前端·javascript·面试
rit843249920 小时前
C#实现的远程控制系统
前端·javascript·c#
诺斯贝克20 小时前
Unable to create converter for xxx.NetworkResponse<Auth> for method AuthService
前端·后端
listhi52020 小时前
针对燃油运输和车辆调度问题的蚁群算法MATLAB实现
前端·算法·matlab
渔_20 小时前
uni-app 页面传参总丢值?3 种方法稳如狗!
前端
快被玩坏了20 小时前
二次封装了个复杂的el-table表格
前端
用户938169125536020 小时前
在TypeScript中,可选属性(?)与null类型的区别
前端
eason_fan20 小时前
Resize 事件导致的二进制内存泄漏:隐式闭包的 “隐形陷阱”
前端·性能优化
一只叫煤球的猫21 小时前
我做了一个“慢慢来”的开源任务管理工具:蜗牛待办(React + Supabase + Tauri)
前端·react.js·程序员