In this tutorial, you are going to learn how to make the Elementor Nav Menu, Tabs Titles and Taxonomy Filter scroll horizontally, along with a few extra features.
This tutorial represents the fully featured, premium version of a few other tutorials I have available for free.
Here is an example of the horizontally scrollable Elementor nav menu, taxonomy filter and tabs titles we are going to create:
For a better preview, visit the demo page from your mobile*.
*Everything works on desktop also, if for example you have enough menu or filter items to require horizontal scrolling.
Features:
- Polyvalent: Works for the WordPress Menu, the new Menu, the Taxonomy Filter and Tabs elements
- Arrow Control: Left and right arrows to scroll (accessible)
- Reactive Arrows: Arrows become unclickable and lower opacity if you can't scroll in that direction
- Conditional Arrow Display: The arrows only show if horizontal scrolling is possible
- Conditional Gradients: Left and right gradients in the directions where scroll is possible
- Image Design: Optional circle image design, with active styling and transition
- Great UX: Automatically scrolls to the center of the clicked item
- PageLoad Smart: Automatically scrolls to the center of the current menu item (if one of them is the current page), current taxonomy filter, or current tab
- New! Auto Same Page Anchor Centering: Same page anchor links will automatically scroll to the active, currently in view menu item (see demo below)
- Open Tab From URL: Scroll to and open the proper tab on page load through an ID in the URL (site.com/#example-id)
- Auto Scroll Back Up: On Tab Switch, automatically scroll back up to the top of the tabs element. Useful if your tabs titles are sticky
- Templates Provided: Get a jump start to get things done quickly
Note that all features are optional, and can be disabled individually. For example, the images, arrows and gradients can be removed.
Here is another example, with the WordPress Nav Menu element (at the top) and the new Menu element (bottom) in a sticky container, along with same page anchors:
Visit that demo page directly.
Note that the menu items here could have images too, but I opted for a different styling for this demo.
First, let's get the element ready for Horizontal Scroll
This is a premium tutorial. Purchase access to unlock the full tutorial.
19 Responses
Greetings Taqy!
I added the option to copy paste the template!
Cheers!
Try as I might, I cannot get the paste template to work, even though I've been able to do so with others. I also do not get the loop grid and taxonomy to filter part right. Can you please send me an exported json to import?
Greetings Petrus,
Do you have all the proper features enabled under WP > Elementor > Settings > Features ? And are you on another browser than Safari?
Cheers!
Yes, all are enabled, but copying and pasting fails every time. I've done it with some of your other tutorials, but this one fails every single time. Elementor is up to date, and I've even copied and pasted your tutorial that is similar to pictures (call to action). I spent the entire day trying to make it work but it kept failing...
Okay sorry about this. It's working fine for me...
If you paste it anywhere else (like in notepad), does it look like what it should be? Or do you have some error message?
I think it's too resource-heavy, so it times out before it can be completed. We have 2 GB mem and the default recommended max vars settings for our site.
I tried it on a friend's site, and it's working there when I copy and paste it:
https://prnt.sc/ijUDyWjYp0Sv
But then when I save and refresh it says, no taxonomies found:
https://prnt.sc/nnTAdfjvYPKr
What am I doing wrong?
Did you set up your own Query in the Loop Grid element? You need to set it to query your Posts, or your CPT.
No, I was trying to get your example working first. So copy and paste will not import yours? I need to create some?
Greetings!
Yes. It does not import all of my CPTs and their data (frankly, that's a very good thing!). So you need to setup your Loop Grid to query your own data that you have on your site.
Love this tutorial, could you please provide CSS for Wordpress Nav Menu in Sticky Container like your mentioned example above? This is the way I would love to display it.
Kind regards!
Hey Luca!
Certainly, here it is:
Cheers!
Hey Maxime, just purchased the tutorial. I'm trying to get this to work with the new Elementor "Menu" Widget. Since I'm using this kind of menu on different pages and need to adjust it per page, i wanted a solution that I can modify right there.
Setting the menu to look good and scroll horizontally is easy with the styling options given with the new elementor (mega-) menu. However, it is the automatic scroll-to-active-item that I cannot get to work.
Any helpers on this?
Greetings Manuel!
I just updated the tutorial for full support for the new Menu element. Import the templates fresh, it should all be there!
Cheers!
Hi Maxime,
this is great!
But on the tabs element (mobile), when the --tab-heading becomes sticky, both the arrows and the gradient don't. So they scroll away while the tabs remain sticky.
Kind regards
Greetings Joao!
I just had a good look at this, and the HTML structure just doesn't make it possible to have the tab heading sticky, along with the arrows and gradients.
So these features are mutually exclusive: if you want the tabs heading to be sticky, you will need to remove the arrows and gradients. Else have everything show, but the tab heading can't be sticky.
Really sorry about this!
Hi Max, how can we make the fade affect on mobile supported for RTL so the arrows function correct on RTL? thanks
Hi Maxime,
First of all, thank you very much for your scripts. They are a real enrichment and relief for web development.
Unfortunately I have a small problem with your script “Elementor Horizontal Scroll Menu, Taxonomy, Tabs With Extra Features”.
You can see the website I am currently developing here:
https://www.srv1.cyou/limu
In your custom CSS I have added the following lines above to customize the design:
/* MENU TABS */
.e-n-tabs-heading {
display: flex;
justify-content: flex-end;
min-width: calc(100% + 20px);
margin-left: -10px;
margin-top: -10px;
}
/* ARROWS */
button.scrl-button.scrollable-navigation.scrollable-navigation-left {
border: 1px solid #fff !important;
background-color: #2065DF !important;
margin-right: 40px !important;
margin-left: -10px !important;
margin-top: -10px !important;
border-radius: 0 !important;
min-width: 40px !important;
}
button.scrl-button.scrollable-navigation.scrollable-navigation-right {
border: 1px solid #fff !important;
background-color: #2065DF !important;
margin-right: -10px !important;
margin-top: -10px !important;
border-radius: 0 !important;
min-width: 40px !important;
}
But now I have the problem that on the desktop view I have less space on the left of the first image and on the last image on the right side space has disappeared due to my customization.
Furthermore, I now also have the problem that in the mobile view, apart from the above-mentioned problem, the images are no longer displayed centered. When I tap on the right arrow, the image ends up on the far left and only when I tap directly on the image it will be centered. In the mobile landscape view, nothing is centered at all.
Can you please help me with this?
Thank you very much in advance
Best regards
Sergio
is there no more support here?
how can we make the fade affect on mobile supported for RTL so the arrows function correct on RTL? thanks