How To Hide Your Header Till User Scrolls Down

For this short tutorial I will show you how to hide your header completely until the user scrolls down a certain amount of px. So be before we begin let’s get the important stuff out of the way.

My Working Environment

Theme: Hello Theme

Elementor Version: Pro ( Needed to build custom header )

Additional Plugins: Simple Custom CSS & JS

Let’s Begin

Go to your header template and give it the ( Id ) of :


Next go to your scrolling effect options and select sticky top and also increase the z-index to 50 or higher.


For the css you can include the CSS within your section options or add it to your customizer the choice is really yours. I added mine to my child theme.

Copy and paste the below CSS

@media (min-width: 1024px){
#site_header {

The jQuery

To add the jQuery to your site we will be using our additional plugin Simple Custom CSS & JS.

Navigate to Custom CSS & JS > Add Custom JS and paste the jQuery below and give it a descriptive title. Also choose to have the JS placed in the footer of your site.

jQuery(document).ready(function( $ ) {
    jQuery(window).scroll(function() {
      if ( $ (window).width() > 1024) {
        if ( $ (window).scrollTop() >= 400) {
            $ ('#site_header').fadeIn();
          } else {
            $ ('#site_header').fadeOut();

Save it and witness the magic that is jQuery.

Final Result

Creative Tip

If you want to be extra creative duplicate your header inside your template and do not apply the sticky top and leave off the ID. This will give you a menu on page load but will flow upward when the users scroll and the sticky header will slide in to view later down the page.

IMPORTANT :: If you correctly complete this tutorial when return to your template to edit or make changes your header section with the id of site_header will not be visible because of the CSS. You may need to comment out the CSS to make changes.

Enjoy 😀.

Related Articles

Sticky Video On Scroll

Greetings All. You may have seen this effect on some other sites and wonder if...

Styling Your Fixed Vertical Header

In our previous post you create your very own Fixed Vertical Header so congratulations on...

How To Make Any Section Clickable

In this tutorial I am going to show you an easy & simple way to...

How To Create A Fullscreen Scrolling Website

In this tutorial we will be recreating the flow and feel found on Shake Design...


  • Hi Yury,
    All you would need to do is make sure that the header is only visible on the homepage and then create a separate header for the rest of your site.

    • Hi Zbigniew,
      You need to adjust this bit of jQuery

      //Decides when this script will work 1024
      if ( $ (window).width() > 1024)

      change the 1024 to something smaller like 450 so it will work on screen bigger than 450 px. You would also need to adjust the media query as well.

  • Ho can i apply this also form mobile and tablet view ?

    Thank You for your work

    • Hi Mario,
      You need to adjust this bit of jQuery

      //Decides when this script will work 1024
      if ( $ (window).width() > 1024)

      change the 1024 to something smaller like 450 so it will work on screen bigger than 450 px. You would also need to adjust the media query as well.

  • This works on my chrome browser while logged into wordpress. However if I load the page on a different computer with chrome, it will not work. The header will just be missing throughout the page. Doesn’t seem to be an add-on issue as I can get other JS to work just fine.

    • I had this problem and then noticed I’d not clicked to have it in the footer as per the instructions. It then worked. Make sure you’re loading the code in the footer as it defaults to header.

    • I have the same problem… only when I’m logged in it works fine…

  • Thanks for the tutorial
    What if I want it to be hidden during the scroll below and displayed in the scroll above?

  • Hello, thanks for this! One problem… when I use on mobile and click on my menu after freshly loading the page, when half way down the page, the menu opens but higher than it’s supposed to. If you scroll back up a little it corrects itself though. Any idea why this is happening and how to fix? Thanks.

    • Can you provide a link so that I can view your issue.

    • I’ve been trying to provide a link but my reply never shows up.


  • Hi first of all thanks for the topic!

    Secondly: when I paste the CSS in the CSS box of the header, it gives me an exclamation mark within a yellow triangle on the line: width:100%!important;

    Is there a way you could help me?

    • Evening Voets Media,
      Did you copy and paste the css as I have above.

  • Hi Aires, any update to the question I posted? Really looking forward to a solution. Thank you!

    • I hope to have a solution for you today Dan.

    • Ok I look forward to your response, thank you!!

Leave a Reply

Your email address will not be published. Required fields are marked *

Powered by Elementor Pro

How happy are you with Key Elements?


Subscribe to get notified and receive a special invite.