css:网页引入字体@font-face以及动态加载字体

简介: css:网页引入字体@font-face以及动态加载字体

css:网页引入网络字体@font-face


<style >
    /* 引入字体 */
    @font-face {
      font-family: "站酷高端黑 Regular";
      font-weight: 400;src: url("//at.alicdn.com/wf/webfont/CMLt9HVp5N87/tbHddmDWiU1GEuhi4nhKp.woff2") format("woff2"),
      url("//at.alicdn.com/wf/webfont/CMLt9HVp5N87/WGIJOcs-yNAu59k-p4jVL.woff") format("woff");
      font-display: swap;
    }
    /* 使用字体 */
    .box{
        font-family: "站酷高端黑 Regular";
    }
</style>

说明

font-display 有五种属性:


auto:使用浏览器默认的行为;
block:浏览器首先使用隐形文字替代页面上的文字,并等待字体加载完成再显示;
swap:如果设定的字体还未可用,浏览器将首先使用备用字体显示,当设定的字体加载完成后替换备用字体;
fallback:与 swap 属性值行为上大致相同,但浏览器会给设定的字体设定加载的时间限制,一旦加载所需的时长大于这个限制,设定的字体将不会替换备用字体进行显示。 Webkit 和 Firefox 中设定此时间为 3s;
optional:使用此属性值时,如果设定的字体没有在限制时间内加载完成,当前页面将会一直使用备用字体,并且设定字体继续在后台进行加载,以便下一次浏览时可以直接使用设定的字体。

动态加载字体

async function loadFont(fontName, fontUrl) {
  const font = new FontFace(fontName, `url(${fontUrl})`)
  await font.load()
  document.fonts.add(font)
}

文档:https://developer.mozilla.org/zh-CN/docs/Web/API/FontFace


Experimental: 这是一个实验中的功能

相关文章
|
人工智能 前端开发 API
开源一周即飙升7.9K Star!Money Printer:一款可以自动创建带有配乐及字幕的短视频工具!
开源一周即飙升7.9K Star!Money Printer:一款可以自动创建带有配乐及字幕的短视频工具!
830 1
|
安全 Go
Golang深入浅出之-互斥锁(sync.Mutex)与读写锁(sync.RWMutex)
【4月更文挑战第23天】Go语言并发编程中,`sync.Mutex`和`sync.RWMutex`是保证线程安全的关键。互斥锁确保单个goroutine访问资源,而读写锁允许多个读者并发访问。常见问题包括忘记解锁、重复解锁以及混淆锁类型。使用`defer`可确保解锁,读写锁不支持直接升级或降级,需释放后再获取。根据读写模式选择合适锁以避免性能下降和竞态条件。理解并正确使用锁是编写并发安全程序的基础。
593 3
|
9月前
|
JSON 前端开发 文件存储
开源项目,全网音乐免费听,太牛逼啦,XiaoMusic 无限点歌机~~~~
XiaoMusic 是一款开源的小爱音箱音乐增强工具,支持全网音乐免费听。通过 NAS 或电脑部署,结合 yt-dlp 下载与本地音乐管理,实现语音点歌、搜索播放、多设备控制,让小爱变身家庭音乐中枢。
3527 2
【threejs教程】让你的场景贴图变得多姿多彩:UV坐标详解
【8月更文挑战第6天】threejs教程:让你的场景贴图变得多姿多彩,UV坐标详解
1139 5
【threejs教程】让你的场景贴图变得多姿多彩:UV坐标详解
|
JavaScript 开发者
Element UI & Element Plus之改变表格单元格颜色
这篇文章展示了如何在Element UI和Element Plus框架中使用`:cell-style`属性来根据条件改变表格单元格的颜色。
2126 0
Element UI & Element Plus之改变表格单元格颜色
element-plus table表格cell-style的使用
element-plus table表格cell-style的使用
1226 1
|
SQL JSON 分布式计算
ODPS SQL ——列转行、行转列这回让我玩明白了!
本文详细介绍了在MaxCompute中如何使用TRANS_ARRAY和LATERAL VIEW EXPLODE函数来实现列转行的功能。
|
传感器 vr&ar Android开发
基于Arduino的智能眼镜
基于Arduino的智能眼镜
1216 0
|
Dragonfly 安全 数据安全/隐私保护
什么是WPA3?与WPA2有啥区别?
【4月更文挑战第14天】
13127 2
什么是WPA3?与WPA2有啥区别?
|
前端开发
【若依】 若依内置富文本框quill,editor居中无效
【若依】 若依内置富文本框quill,editor居中无效
2748 0

热门文章

最新文章