【发布时间】:2020-02-21 15:36:15
【问题描述】:
我在我的网站上使用 Google 字体,在我的 index.html 页面中带有以下标记:
<link href="https://fonts.googleapis.com/css?family=Oswald:300,400,500&display=block" rel="stylesheet">
无论我做什么,页面的第一次加载都会导致文本的变化/出现。
我曾尝试将display 更改为block、swap 等。但无论我选择哪个,都有 FOUT 或 FOIT。
我还尝试在最终出现文本的块上使用transition: 1s linear(或类似名称)。这似乎没有什么不同。
是否有一些我可以应用的 CSS 会在字体完全加载后淡入文本?
【问题讨论】:
-
display属性不适用于字体的渲染,无论哪种方式,您都应该将其更改为font-display。 developer.mozilla.org/en-US/docs/Web/CSS/@font-face/… -
您可以使用“webfontloader”来处理 FOUT。看看类似的 stackoverflow 问题 - stackoverflow.com/q/48591817/6517778
-
@Trollsyn 我根据 Google 字体规范使用
display属性。我的理解是,在<link>标签中,我想使用display,但如果我在CSS 中使用@font-face,我想要font-display。 -
@slumbergeist 谢谢。我想这就是我想要的。
标签: html css webfonts google-fonts