Html 如何在加载时停止FOUT(未格式化文本的闪烁)

Html 如何在加载时停止FOUT(未格式化文本的闪烁),html,css,preload,google-font-api,Html,Css,Preload,Google Font Api,当我在Chrome或IE上打开我的html、css和js文件时(我还没有尝试过其他浏览器),在加载google字体之前,我会闪现出未设置样式的文本。我已经梳理了大量关于这个主题的帖子,并尝试了许多解决方案,但我仍然找不到一个有效的解决方案 在html文件中头标记的开头: <style>html{visibility: hidden;opacity:0;}</style> 这对我来说绝对没有什么区别。你可以根据自己的想法制定自己的策略。如果我没有弄错的话,那篇文章的作者已

当我在Chrome或IE上打开我的html、css和js文件时(我还没有尝试过其他浏览器),在加载google字体之前,我会闪现出未设置样式的文本。我已经梳理了大量关于这个主题的帖子,并尝试了许多解决方案,但我仍然找不到一个有效的解决方案

在html文件中头标记的开头:

<style>html{visibility: hidden;opacity:0;}</style>

这对我来说绝对没有什么区别。

你可以根据自己的想法制定自己的策略。如果我没有弄错的话,那篇文章的作者已经提出了一种方法,可以诱导我试图避免的行为——未样式文本的闪现。是的。然而,本文描述了它的工作原理和原因。作者使用的策略与您尝试执行的策略相同,因此实际过程只需稍作调整。使用js进行此操作很尴尬。如果我隐藏了主体,然后在加载字体后使用js显示主体,那些没有启用js的人将看不到任何东西。如果我使用js检查字体是否已加载,如果未加载,则隐藏正文,如果已加载,则显示正文,那么我需要在html文件的开头引用我的js文件,这会造成主要的前端功能问题。我不确定我在尝试添加js内联时会走多远。没有简单的修复方法。要么和它一起生活,要么用花哨的废话让它消失。至于禁用的javascript,这是用户的选择。他们知道,由于他们的选择,页面可能会出现问题,而FOUT是一个相对次要的问题。你可以根据这些问题制定自己的策略。如果我没有弄错的话,那篇文章的作者已经提出了一种方法,可以诱导我试图避免的行为——未样式文本的闪现。是的。然而,本文描述了它的工作原理和原因。作者使用的策略与您尝试执行的策略相同,因此实际过程只需稍作调整。使用js进行此操作很尴尬。如果我隐藏了主体,然后在加载字体后使用js显示主体,那些没有启用js的人将看不到任何东西。如果我使用js检查字体是否已加载,如果未加载,则隐藏正文,如果已加载,则显示正文,那么我需要在html文件的开头引用我的js文件,这会造成主要的前端功能问题。我不确定我在尝试添加js内联时会走多远。没有简单的修复方法。要么和它一起生活,要么用花哨的废话让它消失。至于禁用的javascript,这是用户的选择。他们知道,由于他们的选择,页面可能会出现问题,而FOUT是一个相对次要的问题。
html {
    visibility: visible;
    opacity: 1;
}