Like our free content? Then you'll love our exclusive Club!
Divi Academy Membership gives you exclusive access to over 110 resources, including child themes, layouts, cheatsheets, tutorials, live training and member perks. And new content is added EVERY Monday!
Recipe #10 is a set of five subtle menu hover effects to make your Divi menus look a little less Divi-ish!
In this recipe I will show you how to apply the effects to both the primary menu and fullwidth menu module.
You can see all 5 effects on the fullwidth menus on the demo page here.
So let’s get cooking!
Ingredients
The Divi Theme or Divi Builder Plugin from Elegant Themes
If you’re going to use the effects on the fullwidth menu module then you will need to have your menu already set up.
Cooking time
This should take you around 10 minutes max.
Preparation
We’ll start with the fullwidth menu module. The first thing we need to do is create our module. So on your page add a fullwidth section and then a fullwidth menu module.

Method
Next, open up your fullwidth menu module, select the menu you want to use from the dropdown list and adjust any settings like the background and text colours.

Now click on the Custom CSS tab and give the module the CSS Class which corresponds with the effect you want to use, I am using ds-my-menu-1 which is the pipes effect you see in the DiviSoup.com primary menu. Don’t forget to Save & Exit.

Now for the CSS, copy and paste the CSS below for the effect you want to achieve into your Child Theme style.css or if you aren’t using a child theme (which you really should be) then paste into the Divi Theme Options epanel custom CSS section.
You will see we are wrapping the CSS in a media query, this is so it doesn’t affect the menu when it switches to the mobile version at 980px.
These are the custom CSS classes for each effect which you need to add in the CSS Class field of the modules’ Custom CSS Tab:
Effect 1: ds-my-menu-1
Effect 2: ds-my-menu-2
Effect 3: ds-my-menu-3
Effect 4: ds-my-menu-4
Effect 5: ds-my-menu-5
Fullwidth Menu Effect 1 CSS - Pipes
/* Menu Effect 1 - Pipes */
@media screen and (min-width: 981px) {
.ds-my-menu-1 a::before,
.ds-my-menu-1 a::after {
display: inline-block;
opacity: 0;
-webkit-transition: -webkit-transform 0.3s, opacity 0.2s;
-moz-transition: -moz-transform 0.3s, opacity 0.2s;
transition: transform 0.3s, opacity 0.2s;
}
.ds-my-menu-1 a::before {
margin-right: 10px; /*you may want to adjust this*/
content: '|'; /*you can change the pipe to something else if you wish*/
-webkit-transform: translateX(20px);
-moz-transform: translateX(20px);
transform: translateX(20px);
}
.ds-my-menu-1 a::after {
margin-left: 10px; /*you may want to adjust this*/
content: '|'; /*you can change the pipe to something else if you wish*/
-webkit-transform: translateX(-20px);
-moz-transform: translateX(-20px);
transform: translateX(-20px);
}
.ds-my-menu-1 a:hover::before,
.ds-my-menu-1 a:hover::after,
.ds-my-menu-1 a:focus::before,
.ds-my-menu-1 a:focus::after {
opacity: 1;
-webkit-transform: translateX(0px);
-moz-transform: translateX(0px);
transform: translateX(0px);
}
}
Fullwidth Menu Effect 2 CSS - Bottom Border Slide In
/* Menu Effect 2 - bottom border slide in */
@media screen and (min-width: 981px) {
.ds-my-menu-2 a {
padding: 8px 0; /*you may want to adjust this*/
margin-bottom: 5px; /*you may want to adjust this*/
}
.ds-my-menu-2 a::after {
position: absolute;
top: 60%; /*you may want to adjust this*/
left: 0;
width: 100%;
height: 4px; /*you may want to adjust this*/
background: #fff;
content: '';
opacity: 0;
-webkit-transition: opacity 0.3s, -webkit-transform 0.3s;
-moz-transition: opacity 0.3s, -moz-transform 0.3s;
transition: opacity 0.3s, transform 0.3s;
-webkit-transform: translateY(10px);
-moz-transform: translateY(10px);
transform: translateY(10px);
}
.ds-my-menu-2 a:hover::after,
.ds-my-menu-2 a:focus::after {
opacity: 1;
-webkit-transform: translateY(0px);
-moz-transform: translateY(0px);
transform: translateY(0px);
}
}
Fullwidth Menu Effect 3 CSS - Top Border Slide Up
/* Menu Effect 3 - Top border slide up */
@media screen and (min-width: 981px) {
.ds-my-menu-3 a {
padding: 12px 10px 10px; /*you may want to adjust this*/
margin-bottom: 10px; /*you may want to adjust this*/
color: #fff;
}
.ds-my-menu-3 a::before,
.ds-my-menu-3 a::after {
position: absolute;
top: 65%; /*you may want to adjust this*/
left: 0;
width: 100%;
height: 3px; /*you may want to adjust this*/
background: #fff;
content: '';
-webkit-transition: -webkit-transform 0.3s;
-moz-transition: -moz-transform 0.3s;
transition: transform 0.3s;
-webkit-transform: scale(0.85);
-moz-transform: scale(0.85);
transform: scale(0.85);
}
.ds-my-menu-3 a::after {
opacity: 0;
-webkit-transition: top 0.3s, opacity 0.3s, -webkit-transform 0.3s;
-moz-transition: top 0.3s, opacity 0.3s, -moz-transform 0.3s;
transition: top 0.3s, opacity 0.3s, transform 0.3s;
}
.ds-my-menu-3 a:hover::before,
.ds-my-menu-3 a:hover::after,
.ds-my-menu-3 a:focus::before,
.ds-my-menu-3 a:focus::after {
-webkit-transform: scale(1);
-moz-transform: scale(1);
transform: scale(1);
}
.ds-my-menu-3 a:hover::after,
.ds-my-menu-3 a:focus::after {
top: 0%;
opacity: 1;
}
}
Fullwidth Menu Effect 4 CSS - Circle
/* Menu Effect 4 - Circle */
@media screen and (min-width: 981px) {
.ds-my-menu-4 a {
margin: 25px 5px; /*you may want to adjust this*/
}
.ds-my-menu-4 a::before,
.ds-my-menu-4 a::after {
position: absolute;
top: 15%; /*you may want to adjust this*/
left: 50%;
width: 100px; /*you may want to adjust this*/
height: 100px; /*you may want to adjust this*/
border: 2px solid rgba(255,255,255,0.6); /*you may want to adjust this*/
border-radius: 50%;
content: '';
opacity: 0;
-webkit-transition: -webkit-transform 0.3s, opacity 0.3s;
-moz-transition: -moz-transform 0.3s, opacity 0.3s;
transition: transform 0.3s, opacity 0.3s;
-webkit-transform: translateX(-50%) translateY(-50%) scale(0.2);
-moz-transform: translateX(-50%) translateY(-50%) scale(0.2);
transform: translateX(-50%) translateY(-50%) scale(0.2);
}
.ds-my-menu-4 a::after {
width: 80px; /*you may want to adjust this*/
height: 80px; /*you may want to adjust this*/
border-width: 6px; /*you may want to adjust this*/
-webkit-transform: translateX(-50%) translateY(-50%) scale(0.8);
-moz-transform: translateX(-50%) translateY(-50%) scale(0.8);
transform: translateX(-50%) translateY(-50%) scale(0.8);
}
.ds-my-menu-4 a:hover::before,
.ds-my-menu-4 a:hover::after,
.ds-my-menu-4 a:focus::before,
.ds-my-menu-4 a:focus::after {
opacity: 1;
-webkit-transform: translateX(-50%) translateY(-50%) scale(1);
-moz-transform: translateX(-50%) translateY(-50%) scale(1);
transform: translateX(-50%) translateY(-50%) scale(1);
}
}
Fullwidth Menu Effect 5 CSS - Borders Slide In
/* Menu Effect 5 - borders slide in */
@media screen and (min-width: 981px) {
.ds-my-menu-5 a{
margin-bottom: 5px; /*you may want to adjust this*/
}
.ds-my-menu-5 a {
color: #fff;
-webkit-transition: color 0.3s;
-moz-transition: color 0.3s;
transition: color 0.3s;
}
.ds-my-menu-5 a::before,
.ds-my-menu-5 a::after {
position: absolute;
left: 0;
width: 100%;
height: 2px; /*you may want to adjust this*/
background: #fff;
content: '';
opacity: 0;
-webkit-transition: opacity 0.3s, -webkit-transform 0.3s;
-moz-transition: opacity 0.3s, -moz-transform 0.3s;
transition: opacity 0.3s, transform 0.3s;
-webkit-transform: translateY(-10px);
-moz-transform: translateY(-10px);
transform: translateY(-10px);
}
.ds-my-menu-5 a::before {
top: -25%; /*you may want to adjust this*/
-webkit-transform: translateY(-10px);
-moz-transform: translateY(-10px);
transform: translateY(-10px);
}
.ds-my-menu-5 a::after {
bottom: 40%; /*you may want to adjust this*/
-webkit-transform: translateY(10px);
-moz-transform: translateY(10px);
transform: translateY(10px);
}
.ds-my-menu-5 a:hover,
.ds-my-menu-5 a:focus {
color: #fff;
}
.ds-my-menu-5 a:hover::before,
.ds-my-menu-5 a:focus::before,
.ds-my-menu-5 a:hover::after,
.ds-my-menu-5 a:focus::after {
opacity: 1;
-webkit-transform: translateY(0px);
-moz-transform: translateY(0px);
transform: translateY(0px);
}
}
Now for the primary menu. There are no modules to create and we don’t need any custom classes as the primary menu has it’s own unique identifier so all we need to do is add the CSS for the effect we want. We also don’t need any media queries as Divi will make that switch for us automatically.
Here’s is the CSS for each effect for the primary menu.
Primary Menu Effect 1 CSS - Pipes
/* Menu Effect 1 - Pipes */
#top-menu a::before,
#top-menu a::after {
display: inline-block;
opacity: 0;
-webkit-transition: -webkit-transform 0.3s, opacity 0.2s;
-moz-transition: -moz-transform 0.3s, opacity 0.2s;
transition: transform 0.3s, opacity 0.2s;
}
#top-menu a::before {
margin-right: 10px; /*you may want to adjust this*/
content: '|'; /*you can change the pipe to something else if you wish*/
-webkit-transform: translateX(20px);
-moz-transform: translateX(20px);
transform: translateX(20px);
}
#top-menu a::after {
margin-left: 10px; /*you may want to adjust this*/
content: '|'; /*you can change the pipe to something else if you wish*/
-webkit-transform: translateX(-20px);
-moz-transform: translateX(-20px);
transform: translateX(-20px);
}
#top-menu a:hover::before,
#top-menu a:hover::after,
#top-menu a:focus::before,
#top-menu a:focus::after {
opacity: 1;
-webkit-transform: translateX(0px);
-moz-transform: translateX(0px);
transform: translateX(0px);
}
Primary Menu Effect 2 CSS - Bottom Border Slide In
/* Menu Effect 2 - bottom border slide in */
#top-menu a {
padding: 8px 0; /*you may want to adjust this*/
}
#top-menu a::after {
position: absolute;
top: 50%; /*you may want to adjust this*/
left: 0;
width: 100%;
height: 4px; /*you may want to adjust this*/
background: #fff;
content: '';
opacity: 0;
-webkit-transition: opacity 0.3s, -webkit-transform 0.3s;
-moz-transition: opacity 0.3s, -moz-transform 0.3s;
transition: opacity 0.3s, transform 0.3s;
-webkit-transform: translateY(10px);
-moz-transform: translateY(10px);
transform: translateY(10px);
}
#top-menu a:hover::after,
#top-menu a:focus::after {
opacity: 1;
-webkit-transform: translateY(0px);
-moz-transform: translateY(0px);
transform: translateY(0px);
}
Primary Menu Effect 3 CSS - Top Border Slide Up
/* Menu Effect 3 - Bottom border slides up */
#top-menu a {
padding: 12px 10px 10px; /*you may want to adjust this*/
color: #fff;
}
#top-menu a::before,
#top-menu a::after {
position: absolute;
top: 60%; /*you may want to adjust this*/
left: 0;
width: 100%;
height: 3px; /*you may want to adjust this*/
background: #fff;
content: '';
-webkit-transition: -webkit-transform 0.3s;
-moz-transition: -moz-transform 0.3s;
transition: transform 0.3s;
-webkit-transform: scale(0.85);
-moz-transform: scale(0.85);
transform: scale(0.85);
}
#top-menu a::after {
opacity: 0;
-webkit-transition: top 0.3s, opacity 0.3s, -webkit-transform 0.3s;
-moz-transition: top 0.3s, opacity 0.3s, -moz-transform 0.3s;
transition: top 0.3s, opacity 0.3s, transform 0.3s;
}
#top-menu a:hover::before,
#top-menu a:hover::after,
#top-menu a:focus::before,
#top-menu a:focus::after {
-webkit-transform: scale(1);
-moz-transform: scale(1);
transform: scale(1);
}
#top-menu a:hover::after,
#top-menu a:focus::after {
top: 0%; /*you may want to adjust this*/
opacity: 1;
}
Primary Menu Effect 4 CSS - Circle
/* Menu Effect 4 - Circle */
#top-menu a {
margin: 5px; /*you may want to adjust this*/
}
#top-menu a::before,
#top-menu a::after {
position: absolute;
top: 15%; /*you may want to adjust this*/
left: 50%;
width: 80px; /*you may want to adjust this*/
height: 80px; /*you may want to adjust this*/
border: 2px solid rgba(255,255,255,0.6); /*you may want to adjust this*/
border-radius: 50%;
content: '';
opacity: 0;
-webkit-transition: -webkit-transform 0.3s, opacity 0.3s;
-moz-transition: -moz-transform 0.3s, opacity 0.3s;
transition: transform 0.3s, opacity 0.3s;
-webkit-transform: translateX(-50%) translateY(-50%) scale(0.2);
-moz-transform: translateX(-50%) translateY(-50%) scale(0.2);
transform: translateX(-50%) translateY(-50%) scale(0.2);
}
#top-menu a::after {
width: 60px; /*you may want to adjust this*/
height: 60px; /*you may want to adjust this*/
border-width: 6px; /*you may want to adjust this*/
-webkit-transform: translateX(-50%) translateY(-50%) scale(0.8);
-moz-transform: translateX(-50%) translateY(-50%) scale(0.8);
transform: translateX(-50%) translateY(-50%) scale(0.8);
}
#top-menu a:hover::before,
#top-menu a:hover::after,
#top-menu a:focus::before,
#top-menu a:focus::after {
opacity: 1;
-webkit-transform: translateX(-50%) translateY(-50%) scale(1);
-moz-transform: translateX(-50%) translateY(-50%) scale(1);
transform: translateX(-50%) translateY(-50%) scale(1);
}
Primary Menu Effect 5 CSS - Borders Slide In
/* Menu Effect 5 - borders slide in */
#top-menu a {
color: #fff;
-webkit-transition: color 0.3s;
-moz-transition: color 0.3s;
transition: color 0.3s;
}
#top-menu a::before,
#top-menu a::after {
position: absolute;
left: 0;
width: 100%;
height: 2px; /*you may want to adjust this*/
background: #fff;
content: '';
opacity: 0;
-webkit-transition: opacity 0.3s, -webkit-transform 0.3s;
-moz-transition: opacity 0.3s, -moz-transform 0.3s;
transition: opacity 0.3s, transform 0.3s;
-webkit-transform: translateY(-10px);
-moz-transform: translateY(-10px);
transform: translateY(-10px);
}
#top-menu a::before {
top: -25%; /*you may want to adjust this*/
-webkit-transform: translateY(-10px);
-moz-transform: translateY(-10px);
transform: translateY(-10px);
}
#top-menu a::after {
bottom: 40%; /*you may want to adjust this*/
-webkit-transform: translateY(10px);
-moz-transform: translateY(10px);
transform: translateY(10px);
}
#top-menu a:hover,
#top-menu a:focus {
color: #fff;
}
#top-menu a:hover::before,
#top-menu a:focus::before,
#top-menu a:hover::after,
#top-menu a:focus::after {
opacity: 1;
-webkit-transform: translateY(0px);
-moz-transform: translateY(0px);
transform: translateY(0px);
}
I have added some comments to the CSS in the areas that may need adjusting depending on your own menu settings. You may need to play with these to get everything sitting just where you want it. You may also want to change the colours to suit your colour scheme.
And that’s it. Now you have some subtle hover effects to help make your Divi menus a little less Divi-ish ;).
If you found this helpful please leave a comment and subscribe to my newsletter for all my latest Divi related content. ![]()
Michelle X





Just found this. What a great hover effect!
Hi Michelle,
I would menu act like the menu on this website:
http://baraklondon.com/
Would be great if you could help.
Thanks,
Edward
I will add it to the list to take a look at
Hi Michelle, thank you for the post. I was trying to add the circle effect to my page navigation but I think I must be doing something wrong. Do you know if these still work with Divi 3.0 or do I need to change the tags someway?
Thanks again,
Chris B
Would really need to see a link to be able to comment
Hi Michelle, I have been using the pipes effect on my menu for months. All of a sudden the effect is broken. I just noticed it. Could you see what the problem could be?
jenniferharris.ca
Looks like you fixed this Jennifer?
I did–someone from the FB group solved it. I copied and pasted the code, but somehow an extra space found it’s way in there.
Glad its sorted
Your code here: Primary Menu Effect 2 CSS – Bottom Border Slide In
does NOTHING.
Tried with most up to date divi + wordpress.
I have just tested it with the latest Divi and WP and it works perfectly well so this is down to user error or plugin conflict.
You most likely are either:
Using the wrong code for your menu type
or
The background colour of your ::after pseudo element is the same as your menu background colour so you cannot see the effect.
Hi, I was wondering if I could exclude just the logo (when there’s a logo with homepage link) from the hovering effects, any idea I could figure that out??
Thank You
Check the comments Hanif, I believe the solution is within. Alternatively post a link and I will give you some code
Hi Michelle,
Thank you very much for this tutorial, I really like it! I used the Menu Effect 2 – Bottom Border Slide In.
The problem is that in my smartphone the menu desappears. That also happens when I minimize the screen of my laptop. It’s a pity!
Is there a way to see it ok on all devices and screens? In the demo (https://divisoup.com/five-subtle-menu-hover-effects-demo/) I don’t see it working either.
Thank you very much in advanced!
Laura.
Yes its possible but you would need to apply the styling to the mobile menu classes. That said, mobile does not have a hover state so its really not that useful anyway
Hi,
I think something is missing from the example css code. I tried to implement effect 2, which is the underline bar.
In the demo, it shows the underline bar on hover + the underline sticks for the active/current menu item.
I copy & pasted the css code and it does show the underline on hover, but it doesn’t stick for the active/current menu item.
Thanks
JP
Are you using it on the main menu or the fullwidth menu module? I think for the fullwidth module it does it automically, for the main menu you can use the .current-menu-item class to apply the effect
I use the normal primary/main menu. Targeting the .current-menu-item works! But it’s not in your example code for the primary menu.
By the way, I had to come back here to see if there was a reply as it doesn’t notify for replies.
Thank you!
JP
Hello! I’ve deleted the css lines and i continue seeing the lines under the menu. What can be happening?
Generally this would be a caching issue
Well after playing around with Effect 5 on tiered Topmenu with sub menu items, I made the following changes to make it work and look nice Fix to remove the down arrow for top items with children #top-menu .menu-item-has-children > a:first-child:after {content:” !important;} Fix for the bottom border the :after #top-menu a::after { top: 40% !important; /* the rest as is */ Fix for the submenu items. If you want to remove the effect add ul.sub-menu li.menu-item a:hover:after {display: none;} ul.sub-menu li.menu-item a:hover:before{display: none;} If you want to keep the effect. I managed to set the top border but not… Read more »
Hello Michelle.
I have implemented the effect 5. It works fine for the sub menu items but not for the top menu ones.
COuld you drop me a hint how to workaround this?
Example> http://phd-hair.gr/home/
Thank you
Looks like you got this fixed?
Thank you a lot, Michelle! It worked perfectly!
Most welcome
Thank you Michelle! It turned out perfect. I just wanted on one menu item and I think it turned out great.
Take a look. http://www.vigil365.com
Fantastic site Marcy, really great work
Hi Michelle, I absolutely love this tutorial and have used the circle effect on my own website http://www.themightyfox.com. I’ve also bought your Child Themes course and am looking forward to getting started, just busy with client work at the moment (not a bad problem to have!). I would like to develop this a little bit on my site and would like to remove the static circle for the selected menu item as my site is a one pager so it looks a little odd (would like to have the hover but not the selected effect) and also, is there a… Read more »
Lovely site Raquel and welcome to the course! Hope you enjoy it when you get the time to dig in
To have the effect not apply to the current menu item remove the ‘focus’ pseudo classes from the CSS.
To change the colour you will want to copy the colour property like this: border: 2px solid rgba(255,255,255,0.6); /*you may want to adjust this*/
And add it to the fixed menu css class, so something like this should work:
.et_fixed_nav {
border: 2px solid rgba(255,255,255,0.6);
}
Then just adjust the RGBA value
Hi Michelle, thank you so much for coming back to me and for the compliment! Means a lot coming from you! I realise it’s now March but I must’ve missed the reply notification email and came back here by chance *shame on me*! I’m playing around with a version of this on a client website so will try this now and see how I go. Thanks again!
Dear Michelle, firstly, a Happy New Year to you!
I wanted to ask, in all your example, your menu has a black background with orange borders..
How do you add the Orange color? I’m using your sample 5..
Thanks and appreciate all that you do..
Happy new year to you!
You can add this to your stylesheet
.et_pb_fullwidth_menu {
border-top: 5px solid #ff7519;
border-bottom: 5px solid #ff7519;
}
If yoou have given your menu a custom class use that class instead
Dear Michelle, thank you very much..
I have implemented it successfully here.. http://daewoo.theultimatewebmaster.com/
However, some problem seemed to have cropped up when there is a drop down menu..
See the Products section… Any idea why that happened..
Check through the comments here Andrew, there is a solution posted
Hi Michelle
Have a question, why you say this?
if you aren’t using a child theme (which you really should be)
Can you explain me more about the advantages? I always insert the code directly in the CSS of the module
A stylesheet allows you to make CSS (as well as PHP) changes that will not get overridden on Divi updates. Adding CSS to the modules is fine, but if you want to use the styling again you need to enter it again in the new module. With a stylesheet you can create a custom class with your desired styling and then just add that single class to the modules you want the styling to apply to.
Hello, This is exactly what i have been looking for! I was wondering if you knew of a way to keep the bar visible on the active page? Plus how to loose the change in hue to the text when you hover?
And on the off chance is there away to make the bar scroll in from the left to right?
Sorry for so many questions, hope you can help.
Hi, this should fix your color on hover:
#top-menu a:hover {
color: #000;
}
For the line to stay visible I need a link to you site to test please
Hi Michelle,
Thanks for the colour fix, i’ll give that a go now.
The site can be found here: http://www.ceres.biohydromet.net
Thanks for your help.
The colour fix did not work, which you will see when you visit the site it still flashes a lighter hue as you hover over the menu items?
Try adding important
color: #000 !important;
Hi Michelle, I was wondering if you were able to figure out how i could keep the under score visible on active page?
Do you have a link please Chris as I am not sure what you are referring to?
Hi michelle,
I added the underline hover effect to the main menu found here: http://ceres.biohydromet.net/ and i would like the under line to stay visiable to show which page the user is currently on.
thanks,
Chris.
You can add a new declaration to keep that border there for the current menu item, something like this should work:
#top-menu li.current-menu-item > a::after {
position: absolute;
top: 65%;
left: 0;
width: 100%;
height: 3px;
background: #2ce39d;
content: ”;
}
Hello Michelle,
I implemented the 4th Menu effect – Circle. But due to some issues, it is not working as expected. It happens same for other effect too. Can you have a look (https://www.kiec.edu.np) and tell me the change i need to make?
I don’t see the circles on that site and the effect I do see seems to be working fine, assuming you got this sorted?
Dear Michelle, thank you so much for your work, site and knowledge.
Thanks to you I started to build my first DIVI site. You inspire me.
My Q: I followed the above text until “Now for the primary menu..” with no problems at all.
But now it is not clear for me where exactly I should insert the “Primary Menu Effect 4 CSS – Circle”?
Happy thanks and sunny days,
Daniël
The tutorial gives instructions for both the primary menu and the fullwidth menu, just just need to following the instructions for the type of menu you are using
Darn fine recipes Michelle – Exactly what I was looking for.
Set up the Pipes effect – it was working fine but now seems to showing a small square with a line in the middle.
If you have a minute could you take a look and let me know if there’s a fix.
Could this be the result of some other CSS I’ve added – there’s quite a lot being used – most notably for the hover over Blurbs.
No rush, no pressure, but if you’re passing the site is here;
http://www.benivagroup.com/
Thanks.
Enrico if you define a font in the before and after sections it should fix it just fine
Hi Michelle! Thanks for the tutorial. I was attempting to exclude this code from one menu item that is running a cta style design. I used the code you mentioned in a previous post, but I’m having an issue figuring out where to place it.
#top-menu .menu-item-xxx a:before,
#top-menu .menu-item-xxx a:after {
display: none !important;
}
Where is the best place to place this and should I be using it multiple rules of your code? Thanks in advance!
Just place it wherever you place the code for the effetc Randy, child theme stylesheet or Divi epanel is fine
Hi Michelle, a good day to you.. I have a horizontal menu on this page.. http://tcsarcadia.theultimatewebmaster.com/
Can I still follow this tutorial? thanks..
Hi Andrew, no it wouldn’t work with a vertical menu as the selector and layout will be different.
I am however working on a pretty cool icon based vertical menu so keep an eye out for that
Hello everybody! I hope you are having a awesome day. Quick question, is there a way to apply the effect to all items in a menu except one? Any help on this is appreciated.
Hi Allen
Yes you can hide it by identifying the unique menu item ID like this:
#top-menu .menu-item-xxx a:before,
#top-menu .menu-item-xxx a:after {
display: none !important;
}
And replace the xxx with your menu ID number
Excuse me, where can I get the ID number of my menu?? I’m a bit new to this
Thank you
You can do this using developer tools in your browser, hover of the item in question and right click and it will display the menu ID in the code
Hi Michelle. Thank you for your help with this. Here is the CSS I am using (I copied your code and made no modifications to it). I also tested the other 4 effects, and they all work like a charm – the only one not working for me is the Circles effect. /* DIVISOUP – MENU EFFECT 1 – CIRCLES */ #top-menu a { margin: 5px; /*you may want to adjust this*/ } #top-menu a::before, #top-menu a::after { position: absolute; top: 15%; /*you may want to adjust this*/ left: 50%; width: 80px; /*you may want to adjust this*/ height: 80px;… Read more »
Love these effects. I implemented the Circle one on a site I am working on, but the larger ring is off-centered.
I have changed the primary menu background color to red so you can see it happening.
The site is http://www.entrepreneurroadmaps.com/peekaboo
Do you know what I did wrong (because I know I did something silly and broke it)?
Thank you.
Hi Andre
I can’t really see what the issue is, could you please add a few more menu items then I can take another look.
Thanks
Hi Michelle. Thank you for looking into this.
I added a bunch of ramdom links to the menu.
When you hover over any of the menu items, the circles are not centered. The large circle seems to be in its proper location, but the small circle moves down to the right and down.
I took a screenshot, but I do not an option to attach it here (maybe you can see it on my Media Library: .
I love this recipe and I hope you can help me make it work properly.
Thank you again, Michelle.
Hi Andre
I can’t seem to replicate this, could you please email me the CSS you are using. Thanks
Hello Michelle,
And thank you for all these “cooking” goodies. Some I already implemented, however I ran into trouble with Nr.2 of the subtile menu hoover effects.
I applied it in my main menu, and works fine, except when it comes to the submenu’s.
Do you have any idea?
Thank you so much,
Frans
Hi Frank
Yes there is an issue with dropdowns. Please check out the solution posted by Nicholas Zein in the comments for this recipe as he has kindly provided a solution. I will add it to the recipe when I get the chance!
Hello again Michelle,
And thank you for your response. I should have noted it before commenting.
I implemented the code from Nicholas, and it made the hoover effect disappear.
Did I miss something?
Best wishes,
FranS
Hi Michelle, Thanks for all the wonderful recipes. You are a true inspiration when it comes to Divi. I implemented Menu 5 on a site I am building on Local Host and it looks fantastic. I had one little thing I was trying to figure out and maybe if you had a moment maybe you might know how I can fix it… I am using a Fly In Button CTA on the first menu item and I wanted to try and remove the Hover affect on the First Menu item but have it work on all the following menu items.… Read more »
Hi Patrick. Thanks for your kind words
I tried a few ways to get this to work and this seems like the most simple to me:
Assuming you are using the effect on the main menu…
#top-menu .menu-item-xxx a:before,
#top-menu .menu-item-xxx a:after {
display: none !important;
}
And replace the xxx with your menu ID number
Hope that helps
Michelle
Thanks a million Michelle. You are a genius.
That worked a dream. I really appreciate the time and kindness you took to figure this out and reply. Your the coolest.
Have a great day.
Patrick
I’m no genius but thank you
and you are welcome, was curious myself 
Best of luck!
Great hack, love it very much. However, if you are trying to use the Primary Menu with ‘Centered inline Logo’ the effect is also applied to the logo which to me doesn’t make sense and it shouldn’t be applied to the logo as well as the text menu options. Unfortunately since this effect uses the :after selector the :not selector can’t be used to eliminate the logo from the effect also being applied.
Correct Todd
unfortunately as Divi has so many options its really not viable to be able to write tutorials for every possible setup. But if it is useful to some then I am a happy chef 
PRETTY PLEASE
I totally have been trying to get this to work with the center inline logo. I am using the PIPES coding. Thanks Michelle, for ALL you do and share with us!
Hi Christine
Here is a quick workaround. The effect is still there but the pipes are set to transparent so they are not visible. Just add this to the CSS.
.centered-inline-logo-wrap a:hover::before,
.centered-inline-logo-wrap a:hover::after,
.centered-inline-logo-wrap a:focus::before,
.centered-inline-logo-wrap a:focus::after {
opacity: 0 !important;
}
Hi M, thanks for the quick response! xoxo Christine
Hi Michelle. Great tutorial. I love the cooking/recipe approach in the instructions. So fun!
Thanks Jonathan, glad you like it
Hi Michelle,
I have tried “Primary Menu Effect 2 CSS – Bottom Border Slide In” . I had to change line number 11 as following
Existing Code: background: #fff;
Changed Code: background: #000;
This makes the underline to each menu item dark in color. It worked well, but having issue with drop down menus. You may check the problem at http://comcomsol.in/.
Hey Manas
I checked the page but can’t find the menu there? But check in the comments here and you will see Nicholas kindly posted some code for using with dropdowns.
hi michelle, i really enjoy this. already try this trick & its work.
but, if i want to change the hover color, where do i need to change the color in css?
i use white background on menu, perhaps the hover will be other color.
thanks in advance
Hi Nas, it depends on which effect you are using but essentially adding color: #000; to the before and after sections of the CSS will change the colour.
Thank you, very useful to vary the design.
Hey Michelle,
Thank you for all the nice recipes you cook for us. I realy like your dishes..
Maybe you can come up with an idea to fix something that annoys Extra users… The layout of the posts in grid mode.
It looks like a mess.. It would be much nicer to look at if they are all the same size. See examples of that at my site under recepten in the subpages..
thanks,
Bonno
Thank you Bonno
And try this for Extra:
.et_pb_blog_grid .et_pb_post {
min-height: 300px;
}
Great Tutorial Michelle! I’ve implemented it and it works flawlessly. Thank you very much! =] Although I may point that this won’t work well with dropdown menus since Divi uses the :after selector to place the arrow-down icon. In one of my sites, I’ve used the effect #2, but changed the :after selector to :before, and also added a .current-menu-item style so viewers can see where they are. Here’s my code if you wan’t to implement it yourselves: /* Menu Effect 2 – bottom border slide in */ #top-menu a { padding: 8px 0; /*you may want to adjust this*/… Read more »
Thanks so much for this Nicholas, I will try to incorporate your code into the recipe when I have the time
Awesome!
You rock Michelle! Your site is a daily inspiration.
Keep the good work!
Cheers
Hello Nicholas,
Michelle pointed me to your solution for the sub menus. After implementation, the hoover effect completely disappeared.
Do you have any idea? Did I miss something? URL: franskemper dot com
Thank you so much
Frans
Frans, I can’t access your site to see what is happening. Sorry for not answering this question earlier, I don’t come to this article very often.
Did you follow Michelle’s instructions? All you need to do is to change her’s :after selectors to :before selectors. Everything else is the same. You can see this effect live in this link: http://blog.safetec.com.br.
Hope this helps others to figure it out.
Cheers.
Nicholas,
Following – got this working for submenus – but I have the undesirable effect of the hover effect also showing on the submenus. Any idea?
http://sugarland-weddings.com/
Disregard … Fixed …
Michelle already answered this via
#top-menu .menu-item-xxx a:before,
#top-menu .menu-item-xxx a:after {
display: none !important;
}
Or /* REMOVE Menu Effect 2 on sub menu */
#top-menu .sub-menu a:before,
#top-menu .sub-menu a:after{
display: none !important;
}
To remove it for all subs, rather than individual menu-items? Seems to of just worked for me
Also I found it looks neater if we remove the default ‘Arrow down icon’
/* REMOVE sub menu arrow icon */
#top-menu .menu-item-has-children > a:first-child {padding-right: 0px; padding-bottom: 17px!important;}
#top-menu .menu-item-has-children > a:first-child:after{content: ”; margin-top: -2px;}
PS . . thanks loads for this post Michelle, I love it
Thanks for the awesome recipes. Your tutorials are by far my fav.
I am using the fullwidth menu option, so I added the code from the Primary Menu Effect 2 to my child stylesheet. It is not working.
I changed the menu type to default in the theme options and it works fine.
What do you think?
Hey Sandy, use the contact form to send me a link to your site and I will take a look
Really nice feature! I am going to use on some of my client sites! Great tutorial
Look forward to seeing it Andre
Michelle,
I have recently started following your blog – wonderful resource.
Can you cast your professional eye on the following …
http://unbounce.com/landing-page-template/a-la-carte-click-through/
What’s your opinion on how to emulate both the Desktop View and Mobile View and how to achieve a similar effect?
Thank you Steve
That site is simple to develop in Divi. Fullscreen header module, 3 blurb modules with border radius, another fullwidth header and then a testimonial module. No real edits needed for mobile, Divi will do that for you
Hi Michelle,
Forgive me – what I meant was those 2 icons and what they do is intriguing to me. When you click on the mobile view, the view simulates a mobile view on the desktop – clicking then on the desktop icon brings back the desktop view.
Thoughts on replicating that?
I would say it is likely a plugin Steve, try searching WordPress.org and CodeCanyon for something simliar
Can I ask a silly question? How do we implement this on an existing site? That is, I am not using the menu module from the builder. It’s just from the theme options.
Hey Phil, the code to use on primary menu (the native menu) is listed on the second blok of codes…. they are named as ‘Primary Menu Effects….’
I tested here, and works great! Thanks Michelle!
Thanks Roberto
What Roberto said below
It can be used for primary menu,too. This way worked on my website. Let’s check it out and hope it work on your site.