Create an Like Mega Menu

Create an Like Mega Menu

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 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.


  • CSS only, no plugins needed
  • 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.

Create an Like Mega Menu 1

The container should have these settings: width should be set to full width, direction to Row, align items to Stretch and gap to 0.

Create an Like Mega Menu 2

The headings that should have a sub menu need the classes navItem and  navItem_SubIndicator.

Create an Like Mega Menu 3

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;

Create an Like Mega Menu 4

The sub menu indicators

Create an Like Mega Menu 5

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.

Create an Like Mega Menu 6Create an Like Mega Menu 7

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:

Create an Like Mega Menu 8

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 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.
$99* Purchase access

Access everything

  • Unlock every premium tutorial on Element.howiGet access to the entire library of premium tutorials on
    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: Premium AccessiLifetime Premium Access to ShapeDividers.comVisit
  • 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 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
  • 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.
$299* Purchase All Access
* All prices are USD. Applicable taxes will be charged at checkout. Have a question? email me also provides premium tutorials showing awesome advanced designs, check them out here.

Looking for something else? Search across 2445 Elements right here:

Checkout the Elementor Addon Finder directly


Leave a Reply