html - 字体加载需要明显的瞬间。有没有办法解决?

标签 html css reactjs google-fonts

我在我的 react 元素中使用谷歌字体,每当我打开我的网站时,都会有一个非常明显的瞬间,使用该字体的文本最初加载了看似不同的字体,然后更改为正确的字体紧随其后的字体。

这里发生了什么?我该如何防止这种情况发生?

public/index.html中加载字体

<link
    href="https://fonts.googleapis.com/css2family=Bebas+Neue&display=swap"
    rel="stylesheet"
/>

将字体添加到src/index.css中的类

.bg-header {
  font-family: "Bebas Neue", sans-serif;
  color: darkorange;
  text-decoration: underline;
  position: absolute;
  bottom: 10%;
  left: 5%;
  font-size: 75px;
}

react组件中的html标签

<h5 className="bg-header">{getHeader()}</h5>

最佳答案

我们可以使用“预加载”资源提示告诉浏览器我们希望我们的字体文件立即开始下载,而不是在 CSS 解析之后。这有助于更快地加载字体。

大多数主流浏览器都支持预加载和其他资源提示(Firefox 目前也在开发中添加此功能)。将其添加到您的 HTML 中将如下所示:

<link rel="preload" as="font" type="font/woff2" 
  href="<FONT LOCATION>" crossorigin>

Machmetrics

关于html - 字体加载需要明显的瞬间。有没有办法解决?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63963400/

相关文章:

javascript - React JS 无限 slider 问题

javascript - 在交替点击时在 2 种颜色之间切换 div 的背景颜色

javascript - 如何过滤数组?

使用 drawImage 创建后的 JavaScript 保存图像

css - M 形边框与 css?

css - Less文件和css文件的格式一样吗?

javascript - 将 Tablesorter 设置为降序

javascript - 在 React 中使用 EventListener 和 postMessage 从弹出窗口传递数据

html - 任何人都可以帮助将图标的图像垂直和水平地悬停在具有边框半径的 div 中吗

javascript - jQuery 表排序代码仅适用于 Mozilla Firefox