Show Divi Mobile Menu On Larger Screen Sizes
If you are building Divi websites and using the amazing Theme Builder, then I’m sure you have encountered quite a lot of problems with it. One of those is the responsive breakpoint where the Divi menu switches from the desktop menu to a hamburger menu. This can be at just the wrong size, and you may want to tweak it a little or even change it a lot, depending on the size of your menu.
We are in the process of creating a lot of tutorials and freebies with the Divi Menu module, so be sure to subscribe here on the blog and on our growing Divi YouTube channel! We’ve unofficially started a menu series, and there are quite a few more to go!
By the way, our last Divi Menu tutorial focused specifically on adding a mobile menu on desktop, a desktop menu on mobile, and one of each side by side on desktop. That tutorial is very popular, and you can find it here:Â How To Show A Divi Hamburger Menu on Desktop (and Vise-Versa)
FYI: You can do this with a setting directly in the Divi Builder with our popular Divi Responsive Helper plugin! Take a look, it is so easy!
Join subscribers on our YouTube channel and enjoy other Divi video tutorials!
Show Divi Mobile Menu On Larger Screen Sizes
The first step in our short tutorial is to copy and paste a code snippet into your Divi website. This CSS snippet will essentially change the Divi Menu module responsive breakpoint by causing the mobile menu to display on larger screen sizes. The cool part is that we can tell it.
The CSS snippet is telling the browser to display the mobile version of the Divi menu at a wider screen than the default.Â
To show the Divi hamburger on larger screen sizes, just copy and paste the code snippet below into your Divi>Theme Options> Custom CSS code box and save.
/*adjust Divi Menu module breakpoint*/
@media only screen and (max-width: 1149px) {
.et_pb_menu .et_pb_menu__menu {
display: none;
}
.et_mobile_nav_menu {
display: block
}
}
Next, feel free to adjust the 1149px value to whatever you want. Keep in mind that by default, the Divi Menu responsive breakpoint is 980px, so anything larger than that will work.
TIP: You can find the correct number by using your browser inspect tool. Just right-click on your website, find the “inspect” option, and then look for the tablet/phone icon. From you, you can drag your screen size large or small and it will tell you the pixel size.
If you have a dropdwon submenu, then you may have an issue with bullet points being added to the submenu list items. So just add this additional code to solve that if you are facing that issue.
/*remove bullet points from submenu*/
.et_pb_menu .et_mobile_menu .entry-content ul {
list-style-type: none;
}
/*remove padding left on submenu*/
.et_pb_menu .et_mobile_menu {
padding-left: 0;
}
Do It With A Setting!
Make life easier and use the Divi Responsive Helper instead, the ultimate Divi responsive toolkit with awesome features and settings to help make your website look and work great on all devices!
In Divi 4.4.6 and later, this should be changed to:
/*adjust Divi Menu module breakpoint*/
@media only screen and (max-width: 1160px) {
#top-menu-nav {
display: none;
}
#et_mobile_nav_menu {
display: block
}
}
Hey Jeremiah,
The code you mentioned is for the default menu, my tutorial is for the Menu module 🙂 But thanks for sharing for those who need that!
Thank you Jeremiah!!
I couldn’t work out why the media queries wasn’t working – I am using the default menu, so you’ve saved my sanity, thank you 🙂
and me … that really helped
Tried both the codes in the divi theme options but no luck on my ipad 10.2 inch with a landscape viewport of 1024 px wight. What am i doing wrong.
I think i use the standard divi menu
Could you please tell us that what you are trying to achieve and also share the website URL for more clarity and further investigation?
Have to add some other info. Needed to set my standard primary menu to full width
this code worked for me;
@media (
max-width
:
1024px
) {
#et_mobile_nav_menu {
display
:
block
;
}
#top-menu {
display
:
none
;
}
}
That did it for me too – thanks for posting this! I was struggling to get it to work with the original code.
Hi, thanks for this Nelson!
I still had some problems with this it for some bizarre reason Divi wraps its mobile menu styling in media queries. And because my full-width menu is right aligned.
I also had to wrap the following in your media query…
And then, because my full-width header is fixed and that definitely doesn’t work with a drop-down mobile menu, I had to add the following to your media query as well…
Cheers,
Clay
Sounds good, Clay. I never use anything “Fullwidth” as they are so outdated and lack features, so I never cover those in my tutorials.
I phrased that badly Nelson. It’s just a custom header section that happens to be full-width.
Thanks for the help with this issue. I have a design question. Client wants the hamburger fix in the main menu (done), but then display normal menu in footer. I assume I can wrap menu in a class, but not having any luck.
Hi Ben,
Yes you can do this easily, this is something I do a lot. Check out my other tutorial about that here: https://www.peeayecreative.com/how-to-show-a-divi-hamburger-menu-on-desktop/
I’m going mad. I am following your instructions in Aug 2020 (on a freshly downloaded and installed version of the divi theme) and it is just plain doing nothing. The hamburger transition happens at the same point regardless of what number I put in as the breakpoint.
Interestingly I have searched all the source files using chrome and I can’t find the number I put in anywhere.
I have tried putting the css in the theme options and theme customisation too.
Nothing – if you could help me that would be great.
Hi Ted,
I’m willing to bet you are using the default Divi header menu, not the Menu module? Am I right? 😉
I keep trying all of your various menu module codes with variations with no success. I’d like to confine the mobile version of my module-based menu to 768px and smaller. Desktop version on everything larger. I tried this snippet set to 768 px, but see no difference. Mobile menu still showing up until 980.
Hi David, I spent a few minutes looking and I really don’t know why it isn’t working for you.
Doh! I’m gonna go outside and cry for a while. lol. I’ve turned off caching, removed all other custom CSS… disabled many plugins. There’s definitely something off. Thanks for looking! Where’s a good place to hire a divi expert for last minute troubleshooting?
Glad to hear you got it solved! I’m not sure about anything last minute, might want to check the Facebook groups or Upwork for that.
He does not solve anything. Still the same question: How to change the breakpoint below 980px?
Peter, who is the “he” you are referring to who doesn’t solve anything? Did you ask a question before that is “still” not answered?
Hi, great tutorial!
However, I want to make my whole header change responsive breakpoint not just the menu.
How can I go about it?
Here is the site I am working on: http://www.hi.linux.hostaway.net.au
Hi Arvie,
That would be a little harder because you would need to target a lot of default Divi code and override it with CSS breakpoints. You can learn more about media queries here: https://www.peeayecreative.com/how-to-add-custom-css-media-queries-to-divi-for-making-your-site-responsive/
Hi Nelson,
using your approach the search icon is not alligned with the hamburge rmenu.
Do you have a solution for this?
Thanks for all your amazing tutorials! 🙂
Hi Philipp,
You’re welcome, glad you like the tutorials! I assume this comment was the prequel to your second one. Not sure I am getting the context of it though. Let me know if you need help with it!
Found the solution myself, but still wondering why I need that margin-top. at 980px its displaying the menu bar correctly.
/*adjust Divi Menu module breakpoint*/
@media only screen and (max-width: 1149px) {
.et_pb_menu .et_pb_menu__menu {
display: none;
}
.et_mobile_nav_menu {
display: block
}
}
@media only screen and (min-width: 981px) {
.mobile_menu_bar {
margin-top:15px;
}
}
Hi Philipp, I’m not sure what you mean or what you are asking. Try again?
Is there a way to change the breakpoints so that when you’re using the Theme Builder or the Divi Builder on a page, when you click a tablet or mobile icon to change something, that it obeys a different breakpoint limit? I’m asking because while the CSS idea works great for the menu, there are other parts of the page that also need adjusting at that breakpoint, but Divi seems to cling to its built-in breakpoints.
Hi Rob,
It is very difficult to do what you are asking, but we are planning to add that to our Divi Responsive Helper plugin. Like, hacking the entire Divi is a huge undertaking. This tutorial is to solve the issue with the menu, and I personally do not believe it needs to synchronize with other items, I feel like visitors not notice 🙂
Worked like a charm. Thanks!
That’s great Dave!
I’ve tried the code in the main text, and the suggested code from commenters. I have a header designed in the Theme Builder. The breakpoint doesn’t move.
Hi Casey,
Could you please share the URL of the page so that I could have a look?
Hey guys I want my entire site to change to mobile view earlier for phones with slightly larger DPI. so for example on my pixel phone I have the option to increase the dpi so that I can fit more on the screen however when i view my site on my phone it gives me a very crammed tablet view because my dpi is 484 and divi switches to mobile at 480. I would like to make it so that my mobile view switches from 485 and below.
Hey Bruce,
Could you please share the URL of the website for me to investigate further on this?
Thanks for the tutorial. I’m working with the menu module at this url: https://tr.iamthewebdude.net/home-page-revision-3/ the code works as expected, but when I click on the hamburger menu I have bullet points out to the left. How can I make those go away?
Hey Jay,
I am not able to spot this issue on my end.
Hi there! The snippet worked a charm! I was trying to figure it out on my own but was targeting the wrong classes so thanks for that! The only tiny thing that’s still bugging me is that, at the new break point for mobile menu, the hamburger icon appears closer to the top of the page and then it changes to its default position when I keep shrinking the size of the screen. I tried giving targeting .mobile_menu_bar and giving it some top margin but that applies to both positions of the hamburger icon. Is there a way to adjust this??
Hey Florencia,
I have checked the website and I am not able to replicate the issue you stated on my end.
Hi again! I’ve just added the snippet and everything works just fine on my pages but nothing changes on my custom posts. I’m racking my brains trying to figure out why. I’m using the same global header for them as well.
Love the stuff you post here, but in all honesty, I can’t spend more than a minute or two on the site. The scroll snapping (or what appears to be scroll snapping) is overbearing.
I have no clue what you mean…maybe send us a video, what you described is certainly not an intended or experienced thing.
Just copied your code and can’t get it working. I placed the code in Divi>ThemeOptions>Custom CSS. I’ll add to child theme once I get it working.
I’ve changed the breakpoint from 1149px to a variety of other sizes with no results. URL is: tecriders.org.
Thanks for your help and I’m very happy to have found your website today. Already purchased the Form Helper!
I’m glad to hear it was helpful! Enjoy!
In order to keep the hamburger button in alignment with the logo in the header (theme builder/menu module), I always need to add this:
.et_pb_menu .et_mobile_nav_menu {
float: none;
margin: 0 6px;
display: -ms-flexbox;
display: flex;
-ms-flex-align: center;
align-items: center;
}
Otherwise the hamburger button jumps to the top of the div instead of staying vertically centered.