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: 这是一个实验中的功能

相关文章
|
数据库
Unknown column ‘字段名‘ in ‘field list‘解决方法
Unknown column ‘字段名’ in 'field list’英语翻译过来就是未知列的字段名在字段表中,也就是说数据库表中的字段名在实体类中找不到。 解决方案如下: 查看实体类的属性名和数据库表中的名字是否一致(注意数据库表字段中是否有空格或者下划线)
4905 0
fbh
|
关系型数据库 MySQL 数据库
mysql数据库执行mysqladmin flush-hosts方法
当连接错误次数过多时,mysql会禁止客户机连接,这个时候有两个办法解决: 1.使用mysqladmin flush-hosts命令清除缓存,命令执行方法如下: 命令行或终端:mysqladmin  -u  root  -p  flush-hosts 接着输入root账号密码即可   2.
fbh
7660 0
Vue3报错:Extraneous non-props attributes (style) were passed to component but could not be automatical
Vue3报错:Extraneous non-props attributes (style) were passed to component but could not be automatical
4836 1
|
开发框架 负载均衡 Java
当热门技术负载均衡遇上 Spring Boot,开发者的梦想与挑战在此碰撞,你准备好了吗?
【8月更文挑战第29天】在互联网应用开发中,负载均衡至关重要,可避免单服务器过载导致性能下降或崩溃。Spring Boot 作为流行框架,提供了强大的负载均衡支持,通过合理分配请求至多台服务器,提升系统可用性与可靠性,优化资源利用。本文通过示例展示了如何在 Spring Boot 中配置负载均衡,包括添加依赖、创建负载均衡的 `RestTemplate` 实例及服务接口调用等步骤,帮助开发者构建高效、稳定的应用。随着业务扩展,掌握负载均衡技术将愈发关键。
382 6
|
负载均衡 网络协议 算法
|
关系型数据库 应用服务中间件 PHP
程序员必知:学习Walle(一)
程序员必知:学习Walle(一)
486 0
解决ERROR in Conflict: Multiple assets emit different content to the same filename index.html 的问题
解决ERROR in Conflict: Multiple assets emit different content to the same filename index.html 的问题
1190 1
|
安全 Java 测试技术
最佳实践:通义灵码生成单元测试,让单测更简单
本文首先讲述了什么是单元测试、单元测试的价值、一个好的单元测试所具备的原则,进而引入如何去编写一个好的单元测试,通义灵码是如何快速生成单元测试的。
|
存储 缓存 网络协议
搭建dns服务常见报错--查看/etc/named.conf没有错误日志信息却显示出错(/etc/named.conf:49: missing ‘;‘ before ‘include‘)及dns介绍
搭建dns服务常见报错--查看/etc/named.conf没有错误日志信息却显示出错(/etc/named.conf:49: missing ‘;‘ before ‘include‘)及dns介绍
725 0
|
Web App开发 存储
解决 Failed to read the ‘localStorage‘ property from ‘Window‘: Access is denied...
解决 Failed to read the ‘localStorage‘ property from ‘Window‘: Access is denied...
1064 0