首页 > web前端 > css教程 > 如何更有效地消除无样式内容的Flash(FOUC)?

如何更有效地消除无样式内容的Flash(FOUC)?

Linda Hamilton
发布: 2024-11-13 17:33:02
原创
321 人浏览过

How to Eliminate Flash of Unstyled Content (FOUC) in a More Effective Way?

消除无样式内容的 Flash

当网页在浏览器应用之前短暂显示无样式时,就会出现无样式内容的 Flash (FOUC) CSS 样式表。本文探讨了一种更有效的防止 FOUC 的方法,即使用 JavaScript 最初隐藏然后取消隐藏页面元素:

使用 JavaScript 隐藏和取消隐藏

最初隐藏页面元素CSS 然后使用 JavaScript 取消隐藏可能会导致禁用 JavaScript 的用户出现可访问性问题。更好的解决方案是使用 JavaScript 进行隐藏和取消隐藏。

jQuery 示例

使用 jQuery 的一种可能方法:

$(document).ready(function() {
    $('body').hide();
    $(window).on('load', function() {
        $('body').show();
    });
});
登录后复制

但是,此方法依赖于文档正文在隐藏之前已准备好,这仍然可能导致一些问题FOUC.

优化方法:隐藏 HTML 标签

另一种策略是在 head 中遇到脚本时,甚至在之前,使用 JavaScript 立即隐藏 HTML 标签文档已准备就绪:

<html>
  <head>
    <!-- Other stuff like title and meta tags go here -->
    <style type="text/css">
      .hidden {display:none;}
    </style>
    <script type="text/javascript" src="/scripts/jquery.js"></script>
    <script type="text/javascript">
      $('html').addClass('hidden');
      $(window).on('load', function () {
        $('html').show();
      });  
    </script>
  </head>
  <body>
    <!-- Body Content -->
  </body>
</html>
登录后复制

在此示例中,在 .load() 之外调用 jQuery addClass() 方法立即隐藏 HTML 标签的函数。

以上是如何更有效地消除无样式内容的Flash(FOUC)?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板