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格式,其他加粗的字体还是使用压缩过的,这样做几乎无感。

相关推荐
用户05954017446几秒前
把AI对话记忆存储测试从手工改成Playwright+pytest,覆盖率从20%提到96%,回归时间缩短90%
前端·css
kyriewen7 分钟前
别再这样写TypeScript了——Code Review中最常见的8个反模式
前端·javascript·typescript
名字还没想好☜13 分钟前
Next.js ‘use client‘ 到底加在哪:Server/Client Components 边界与常见报错
开发语言·前端·javascript·react·next.js
午安~婉36 分钟前
GitHub Token/ GitHub Stats统计显示图异常
前端·github·vercel·github token
码云之上1 小时前
AI Agent 工程化总览篇:从 Prompt 到 Harness
前端·人工智能
2501_926978331 小时前
以说明书 DNA 为模板——完整 AGI 的结构图景
前端·人工智能·经验分享·笔记·ai写作
IT_陈寒1 小时前
Vite静态资源引用这个坑我踩得有点疼
前端·人工智能·后端
程序员黑豆2 小时前
鸿蒙应用开发:AttributeModifier 使用教程
前端·harmonyos
codeniu2 小时前
TRAE Work 实战 | 从"有个想法"到线上Demo,我全程只靠对话就完成了
前端·trae
妙码生花2 小时前
从 PHP 到 AI + Golang,程序员自救转型手记(五十):增加管理员角色组管理
前端·后端·ai编程