首頁 > web前端 > css教學 > 如何更有效地消除無樣式內容的Flash(FOUC)?

如何更有效地消除無樣式內容的Flash(FOUC)?

Linda Hamilton
發布: 2024-11-13 17:33:02
原創
306 人瀏覽過

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 標籤

另一種策略是在頭部遇到腳本時,甚至在文件準備好之前,使用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() 函數立即隱藏HTML 標籤。

以上是如何更有效地消除無樣式內容的Flash(FOUC)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板