In this tutorial you are going to learn how to create these expandable Elementor flex containers on hover.
This tutorial uses the new containers element, as they are perfect for this.
See the demo here:
Features:
- Uses the new flex containers
- CSS only design
- Add whatever element(s) you wish in the content that shows up after hovering
- Mobile ready (works on click there)
- Demo is included as a template file
- Elementor Pro is required as the template file uses the CTA element
Important note: You will need the feature "Container" to be enabled under Elementor > Experiments > Container. This uses the new Container element.
This tutorial is only recommended for users comfortable with modifying CSS. Due to the nature of the design, and all the different variations that could be made out of it, this particular tutorial comes with limited customization support & help. I will support in cases where you can't get it working. I might not help in making it look this or that way, or changing the animation.
Thank you for your understanding!
Credits: design idea from this codepen. I coded everything fresh, without any JavaScript.
Let's get started!
First, let's import the template file in your project
This is a premium tutorial. Purchase access to unlock the full tutorial and download the template.
22 Responses
Hello.
I am customizing this template, and I want to change the font styling of the titles not being hovered, white the other one is. But it doesn't assume the font property. Is there a reason for this?
I would appreciate some help.
Thank you so much.
Greetings Filipa,
Could you share your URL with me? Along with what you would like which font to look like.
Thanks!
hello Maxime, thanks a lot for your work. I'm trying to integrate into a jetengine liisting or a loop grid by elementor. I'm having trouble making this working fine just as your example. The render is not the same, on hover it shrinks instead of expand. Will you be kind enough to help me with that ? Many thanks in advance.
Olivier
Hey Olivier!
Could you share your URL with me where you are testing this?
Hello Maxime,
Here it is https://542c-14ae9e63eb87.wptiger.fr/
It is down on the Home page.
The first one is a dynamic one made with the loop grid from elementor. The second one is the one I made with your code and it is the one I want to replicate above.
Many Thanks in advance.
If you need some admin credential just let me know.
Olivier
Hey Olivier!
Here is a good starting point:
The Loop Grid element on the page needs the class flexHover (you already have it, writing this for others who might be interested).
Then adjust the CSS as you need.
Cheers!
Many thanks !! that works great ! have a nice day and happy holiday season.
Hey Maxime,
Sorry to bother you again. I tried with the jetengine listing grid since the Loop grid does not allow custom query to display specifics items.
I tried with that :
.flexHover .jet-listing-grid__items {
display: flex;
}
.flexHover .jet-listing-grid__item {
width: 100%;
transition: width .8s
}
.flexHover_title {
width: 100%;
transition: opacity .6s, width .6s
}
.flexHover_title .elementor-widget-container {
background-color: #00000044;
display: flex;
flex-direction: column;
justify-content: center;
pointer-events: none;
transition: opacity .6s, width .6s
}
.flexHover:hover .jet-listing-grid__item:hover .flexHover_title {
opacity: 0
}
.flexHover:hover .flexHover_title {
width: 100%
}
.flexHover_content {
opacity: 0;
transition: .4s opacity;
position: absolute;
bottom: 20px;
left: 100%;
transform: translateX(-100%);
min-width: 400px;
width: 400px;
padding: 0
}
.flexHover:hover .jet-listing-grid__item:hover .flexHover_content {
opacity: 1;
transition: .4s opacity .2s
}
@media (max-width: 767px) {
.flexHover_content {
min-width: 300px;
width: 300px
}
}
@media (min-width: 767px) {
.flexHover:hover .jet-listing-grid__item {
width: 20%
}
.flexHover:hover .jet-listing-grid__item:hover {
width: 60%
}
}
But it is not quite good.
Can you help me with that ? I have the feelings that I'm not far but I could not find the trick.
Thanks again !
Olivier
Try this:
Cheers!
Hello Maxime,
Sorry for the delay, I was off for christmas and new year 😉 I wish you an happy new year and many success !
Thank you so much, it works like a charm !!
Talk to you soon !
Olivier
Happy new year Olivier! Glad it's working! Cheers!
Is it possible to make this not a full width section but boxed instead? When I try, i get grey bars on each side.
Hey Azuro!
Not really, this tutorial is meant to work well with a full width container indeed.
Hi, it is possible to have 4 containers?
Yes, simply right click > Duplicate one of the Flex Hover Containers, using the navigator to be certain you duplicate the right container!
Cheers!
How do we remove the locations on the overlay- "Midwest USA" "Thailand" etc.?
Also, I cannot update my font to match the rest of my site. What do I do?
Greetings Belle,
Use the Navigator to find the text and CTA elements:
To edit the font of the CTA element, do it here:
That will edit the font settings, to change the button settings it's just a bit lower down:
I hope this helps!
Thank you so much for your speedy response. The font style and font color will not update even when going through Navigator/Structure. Because the font I am using is part of a theme I have no clue what it is - is there a code or way I can determine what the font is?
Also, this is an absolutely beautiful add-on to my home page. I plan on getting 3 others but want to make sure this one is running first. Thank you!
Hey Belle!
Sorry I won't be able to help with that, you can try reaching out to the authors of the theme you are using, they might be able to help!
Good luck!
Hello again. I am having a similar issue as another user where the animation of my template is not performing as well as it should- it does not glide or present as the live demo does. I deleted the template and reinstalled but that did not help.
I am still in the early stages of building my website but please have a look:
http://www.poocheandkitty.com
May you please help me with this? Thank you in advance
I was able to resolve the issue! Thank you