Table of Contents
In this tutorial, I'm going to show you how to replicate a mega menu that is similar to the one found on Elementor.com.
Elementor.com themselves used and improved upon (design wise!) my tutorial about creating a mega menu for Elementor without any plugin.
Here is what we will be creating. You will also find the template file in your download zip bundle that came with the course.
Features:
- CSS only, no plugins needed
- Elementor.com-like mega menu design
- Customizable
- Desktop only
Let's get started!
First, let's get the proper structure in place
Let's add a container, and in it, let's add our logo, 4 headings and a button.
The container should have these settings: width should be set to full width, direction to Row, align items to Stretch and gap to 0.
The headings that should have a sub menu need the classes navItem and navItem_SubIndicator.
The headings that don't need a sub menu only need the class navItem.
Each heading should also have a link. If you don't want or need one, add #.
The button will need the following custom CSS to take full advantage of the flexbox container, and push the nav items to the left:
selector { margin-left: auto; background-color: #999999; }
The sub menu indicators
We will be adding a small down triangle to indicate that there is a sub menu for certain nav items, those with the class name navItem_SubIndicator.
We will be using CSS pseudo elements for this, along with position:absolute; and the border trick to create triangles with CSS only.
All the CSS provided in this tutorial can be added wherever you prefer, really. Personally I like to add it all here under Settings > Advanced > Custom CSS, so that I can have a live preview of the modifications.
In the template file, you will find the CSS in HTML elements, so that it works even with Elementor Free. Move it to where you want!
Let's add the following CSS to our project to get our triangles in place.
.navItem_SubIndicator::after { content: ''; position: absolute; top: calc(50% - 4px); right: 6px; border: 7px solid #000000; border-right-color: transparent; border-left-color: transparent; border-bottom-color: transparent; }
This works to create a triangle essentially because the element itself has a base width and height of 0px. This results into the four border sides automatically creating triangles that all meet in the middle.
For instance, the following CSS:
::after { content: ''; position: absolute; border: 37px solid #000000; border-right-color: green; border-left-color: yellow; border-bottom-color: purple; }
Results in:
Now all we have left to do is make all but the top border transparent, and we have a downward facing triangle with CSS only!
Back to our triangle CSS.
The line top: calc(50% - 4px); allows us to position the pseudo-element carefully, starting from the exact center of the first ancestor element that has position:relative; (more info about this in the CSS positioning chapter).
You can adjust the values of the top property, as well as the right property, to position the triangle as you wish.
You can also play with the PX and color value in the declaration border: 7px solid #000000;.
Let's prepare the sub nav containers
Get the full CSS course now to unlock this chapter, and 50+ others.
Access tutorial
- Gain Access to This TutorialiUnlock complete access to the current tutorial: Create an Elementor.com Like Mega Menu
- Future UpdatesiYou will get access to all future updates to this tutorial.
- Enjoy Unlimited UsageiUse on as many of your own sites or your clients sites as you wish.
Note that reselling or redistributing is not permitted.
Access everything
- Unlock every premium tutorial on Element.howiGet access to the entire library of premium tutorials on Element.how
Preview premium tutorials - Get access to the CSS course for Elementor usersiAccess the complete 14 HTML chapters, 30 CSS chapters and 7 Elementor Projects.Learn more
- Simple CSS Grid For ElementoriAn Elementor Addon to Create Awesome Grid Layouts in a Single Click for Containers, Galleries and Loop Grid. Learn more
- free extra: ShapeDividers.com Premium AccessiLifetime Premium Access to ShapeDividers.comVisit ShapeDividers.com
- 30 day money backiNo questions asked money back. Not what you expected? Get a refund.
- One-time payment of only $299iNo hidden fees or subscriptions.
Sales taxes added where applicable. - Limited supportiGet help when you need it. Support includes getting things working as intended.
Support excludes customization work. - Lifetime access to everything Element.howiThe price reflects what is currently available on Element.how. All future updates are included, but none are promised. You pay for what is available now, and the rest is a sweet extra.
I will say that it is definitely my intention to keep adding tutorials to Element.how. - Launch offer discounts!iThis all inclusive package is freshly released and to celebrate, there is a special discount available:
10% for new customers with coupon code LAUNCH10
20% for existing customers with coupon code LAUNCH20
30% for CSS Course customers with coupon code LAUNCH30_CSS_STUDENT
Available for a limited time only.
Element.how also provides premium tutorials showing awesome advanced designs, check them out here.
And get exclusive Elementor related discounts here
Checkout the Elementor Addon Finder directly