How to design a Divi header

Share on facebook
Share on twitter
Share on linkedin

In this Divi 4.0 Theme Builder tutorial, I am going to show you how to design a Divi header, make it sticky and also make it look awesome on mobile devices.

Here is the code to make the header sticky

position: fixed;
top: 0;
left: 0;
right: 0;

Here is the code to make the menu modules stay in line.

display: flex;

Recommended Software

Divi Theme Builder – Click here to Buy Divi (Includes BONUS Course) 

BuddyBoss – Click here to Get 10% OFF (Use Coupon MAK10)

* LearnDash –  Buy LearnDash here (Includes BONUS Course)

* CartFlows –  Buy Cartflows here (Includes BONUS Course)

* MemberPress –  Buy MemberPress here (Includes BONUS Course)

* WhishList Member —  Buy WishList Member here (Includes BONUS Course)

* * * *  Buy any of the products and get FREE Course BONUSES to get you started fast! ***

Best  WordPress Hosting 

SiteGround — Buy SiteGround Hosting (SAVE 70%)

FlyWheel Hosting — Buy FlyWheel Hosting

Divi Theme Templates

* Design Beautiful Blogs In A Few Clicks

* Design Divi Websites Faster, Buy The Genesis Template


WordPress Mastery Course

Discover Howto Design Websites with WordPress.

Watch next



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

  1. Mak, thank you! An excellent video and tutorial, one of the best! I found the header code to make it sticky put my header too far up and the menu items disappeared. I left out the “top” setting and used:

    position: fixed;
    left: 0;
    right: 0;
    This worked perfectly!

  2. Hi Mak,

    Thank you for yours precious tips!

    But I have a problem. If I use the Theme Builder to make a global header as you said, the pages goes back the header, not like the regular header set up in the Theme customizer.

    How to fix that?


    1. Hello, Tks. Yes, the header that you build using the theme builder will overite the standard one.

      1. Maybe I didn’t explain so well.

        The header is overwriting the page itself. The top content from the page is hided behind the header.

        Can you help?


          1. But it causes a big problem because I need to set a top margin to each page and for each device too…

            Kkkk! Hope you teach me to fix.


          2. I have the same problem with this solution. It is very easy to solve at posts, because I can use a top margin at the theme builder custom body section and using a post content, but there is no solution at pages, because there is no page content modul in Divi.

  3. Mak do you have a code to shrink the menu when scrolling ? Also what about making the logo overlap the menu border ? great good thank you

  4. Hey Mak, great fresh tutorial on this powerful update! I’ll be looking for more coming in the near future. Do you have css code to have your mega-menu dropdown be fullscreen by chance? Thanks in advance

  5. Hi Mak,

    Thanks for the wonderful article on creating a sticky global header using the new Divi 4.0. Interesting that we need to use CSS code to make the header “sticky.” I would have thought Elegant Themes would have added this capability as a “core” feature. Oh well…at least you showed us how to do it.

    Thanks again!

  6. Hi Mak,
    Good video, thanks. But how do you change the width of a column once a preformatted option has been chosen?
    eg. I have three equal sections. Left = Site Icon, middle = menu, right = social. Now if I wanted to increase the size of column 2 (menu) to the right, into column three. Thereby making column two wider and column three narrower. How is this done?

    I’ve tried hovering the mouse over every single pixel it feels like, but all I can get is the plus symbol, to add another column.

    Any advice?

    Thanks once again.

  7. So none of those worked for me I , this did:
    1 create a class: main-header
    2 class-ID : et-fixed-header
    3 save
    4 theme options custom css box
    @media only screen and (min-width: 981px) { {
    position: fixed;
    #page-container {

  8. position: fixed;
    top: 0;
    left: 0;
    right: 0;

    This code for stiky header make my header disappear.
    Also this one

    position: fixed;
    left: 0;
    right: 0;

    1. Rene,
      You probably forgot to set the z-index to 999 as Maka explained in the video. In that case no header is displayed.