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

相关推荐
geovindu2 小时前
css: Timeline scribble
前端·css·iphone
沙漠之主10 小时前
C++编程教学设计资料:从入门到实战的完整课程方案
java·前端·c++
hasty10 小时前
不上传新包,也能改变用户拿到的版本:npm dist-tag 的 OIDC 权限治理
前端·npm·node.js
Csvn11 小时前
diff 算法(虚拟 DOM Reconciliation)
前端
前端snow12 小时前
ai agent --- 文件存储
前端
Frag0ut12 小时前
Chrome四大版本获取及共存指南:Stable/Beta/Dev/Canary
前端·chrome·浏览器·dev·beta·canary·共存版
IT_陈寒13 小时前
SpringBoot自动配置坑了我一把,原来是这样绕过去的
前端·人工智能·后端
广州华水科技13 小时前
单北斗GNSS变形监测在大坝安全监测中的应用与优势
前端
zeng不错14 小时前
B站 173 个投稿活动看到眼瞎?我写了个扩展,主打一个精准打击
前端
Latchh14 小时前
前端导出的JPEG红字发糊,质量要拉到100才清楚
前端·图像处理·人工智能·计算机视觉