Skip to content

Instantly share code, notes, and snippets.

@johnpolacek
Last active January 20, 2023 15:46
Show Gist options
  • Star 77 You must be signed in to star a gist
  • Fork 15 You must be signed in to fork a gist
  • Save johnpolacek/3827270 to your computer and use it in GitHub Desktop.
Save johnpolacek/3827270 to your computer and use it in GitHub Desktop.
Prevent FOUC
<!-- Prevent FOUC (flash of unstyled content) - http://johnpolacek.com/2012/10/03/help-prevent-fouc/ -->
<style type="text/css">
.no-fouc {display: none;}
</style>
<script type="text/javascript">
document.documentElement.className = 'no-fouc';
// add to document ready: $('.no-fouc').removeClass('no-fouc');
</script>
@rruprai
Copy link

rruprai commented Feb 15, 2019

@johnpolacek have you taken the time to determine how this impacts the page's SEO? Displaying the content as none will hide the content also from search engines. When using fetch as Google, it was showing a blank page. I understand the need to hide the content and use JS to remove the class.

@wellington1993
Copy link

Nice! 👍 Thanks.

@rendrap
Copy link

rendrap commented Nov 8, 2019

Woow, simply the best one I've ever tried. My use case is inline critical CSS not fully capture above the fold layout state and would flash upon the main CSS loads. Thank you for this.

@fazeelanizam13
Copy link

This doesn't work for external style sheets, does it? Since ready() doesn't care for them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment