Vue或uniapp引入自定义字体

一、为什么引入字体

对于大部分APP或网站而言,字体是很重要的一部分。在前端开发中,选用合适的字体往往会极大地提升网站的视觉体验。然而,网页中默认字体的种类和风格有限,且在不同的设备、浏览器上渲染效果不尽相同。因此,很多开发者会选择自定义字体来提升用户体验。

二、如何引入字体并使用

vue引入字体有多种方法,下面将介绍其中两种较为常见的方式。

1. 使用@font-face

下载需要的字体到本地文件夹中

在vue项目下的src/assets文件夹下创建fonts文件夹,放入需要用的字体

在uniapp项目下创建fonts目录,放入需要用的字体

复制代码
// 在css文件中定义字体
@font-face {
  font-family: 'CustomFont';
  src: url('@/fonts/custom-font.ttf');
}

body {
  font-family: 'CustomFont';
}

view {
  font-family: 'CustomFont';
}

这种方式相对简单,定义了一个自定义字体,然后直接在需要应用字体的地方引入即可。需要注意的是,在font-face中除了src属性,还应该添加font-family属性,用来说明自定义字体的名称。通过在css中的font-family设置,即可随时使用。

2. 动态引入字体

也可以在运行时动态引入字体,可以使用以下代码:

复制代码
const fontFace = new FontFace('CustomFont', 'url(./fonts/custom-font.ttf)');
fontFace.load().then(() => {
  document.fonts.add(fontFace);
}).catch((error) => {
  console.error(error);
});

这样可以避免默认情况下浏览器会对所有字体进行预加载,从而降低页面的加载速度。

相关推荐
鶴哥只手遮天几秒前
Angular 22 源码级深度解析-第 06 章 模板指令全解:`ɵɵelementStart`、`ɵɵproperty`、`ɵɵadvance` 与绑定指令
前端·开源·angular.js
像我这样帅的人丶你还10 分钟前
我html生成的doc文档为何在手机文档显示不了图片?
前端·javascript
前端双越老师2 小时前
程序员 1v1 访谈系列第十期:纯前端坚持不了多久了
前端·ai编程·全栈
ruanno_top3 小时前
Vue 3 后台权限路由:我漏掉了按钮级裁剪,还把 403 写成了 404
vue.js
门思科技3 小时前
LoRaWAN 网络排障的五层漏斗:从"上不到云"到"数值不对",每一层该用什么工具证明
前端
计算机魔术师3 小时前
Cursor 官方插件商城现恶意 Claude Code 扩展,约 11 小时影响最多 5000 名开发者
前端
掘金者阿豪3 小时前
MongoDB迁移到金仓数据库:商品属性继续灵活存,订单报表交给 SQL
前端·后端
栉甜4 小时前
Vue2学习内容(上)
前端·javascript·vue.js·学习
梦曦i4 小时前
v0.2.0 架构升级:class + reactive 重塑状态管理
前端·uni-app x
布丁爱干饭4 小时前
寄给午后
前端