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