确保在Webfont加载期间文本仍然可见,而Google Pagespeed见解中没有解决该问题

Hir*_*nan 8 google-pagespeed

即使在添加font-display: fallback到CSS 之后,也无法确保在webfont加载问题期间文本仍然可见,而在Google Pagespeed Insights报告中也无法解决。

我该如何解决该问题?

@font-face {
  font-family: Jura;
  src: url(../fonts/Jura-Regular.eot);
  src: url(../fonts/Jura-Regular.eot?#iefix) format('embedded-opentype'), url(../fonts/Jura-Regular.woff2) format('woff2'), url(../fonts/Jura-Regular.woff) format('woff'), url(../fonts/Jura-Regular.ttf) format('truetype'), url(../fonts/Jura-Regular.svg#svgFontName) format('svg');
  font-weight: 400;
  font-display: fallback;
}
Run Code Online (Sandbox Code Playgroud)

K. *_*ikh 5

I got rid of it by adding font-display: swap;

@font-face{
    font-family:FontAwesome;
    font-display: swap;
    src:url(fonts/fontawesome-webfont.eot?v=4.5.0);
}
Run Code Online (Sandbox Code Playgroud)

  • 虽然“font-face”可用于普通字体,但将其用于图标字体并不是一个好主意。实际上,“swap”在等待真实字体下载时使用后备字体进行显示,然后它只是“交换”到真实字体。也就是说,font Awesome 没有后备功能,因此它会显示奇怪的字符或其他内容,具体取决于浏览器。您可以在这里查看一个非常好的答案 - /sf/ask/3462291591/ Correct-font-display-value-for-icon-fonts 您无法轻易绕过此问题,因此在使用图标字体时要小心。 (3认同)

小智 1

我通过直接在index.html 中的标签之间添加@fontface规则解决了这个问题。您还可以尝试在@fontface规则的顶部设置字体显示。

font-display: fallback;
font-family: 'Montserrat';
src: local('Montserrat'), url('https://fonts.googleapis.com  /css?family=Montserrat:300,700') format('woff2');
font-style: normal;
font-weight: 700;
Run Code Online (Sandbox Code Playgroud)