Table of Contents
In this tutorial you are going to learn how to cross fade background images on hover of any element in Elementor.
This is quite a flexible method, that will allow you to smoothly change the background image on hover, while keeping awesome page performance as the large images are loaded only after there is an interaction from the user.
It can even be combined with custom loops and the Posts element from Elementor Pro, or the Listing Grid element from JetEngine, with great results.
See the demo here:
Features:
- The images are lazy loaded for optimal performance
- Smooth cross fade animation
- Works with custom loops
- Works for multiple such designs on one page
- Containers ready
- Also works with the old sections and columns
- Demo is included as a template file
- Works with Elementor Free (Elementor Pro is required for the template files though, as it uses the CTA element)
Note that this is a desktop only design, as there is no hover on mobile devices.
Important note: You will need the feature "Container" to be enabled under Elementor > Experiments > Container. This uses the new Container element.
Let's get started!
First, let's setup your layout properly
This is a premium tutorial. Purchase access to unlock the full tutorial and download the template.
Access tutorial
- Gain Access to This TutorialiUnlock complete access to the current tutorial: Elementor Cross Fade Images on Hover
- 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
5 Responses
Thank you so much! I've implemented that tutorial and it works great. I am loving your website and tutorials, they are so helpful.
The only thing I've noticed is that when it is transitioning from one image to the other, in the middle of the hover you can see the original image so it transitions through 3 images.
The one I was previously hovered on - the original background image - the one I am now hovered on.
Is there a workaround for this as my client doesn't like that the middle image shows?
Here, try this. It's not perfect, however it does prevent showing 3 images at the same time. The faster you make the transition, the better it will look and work too.
1. Change the timing here to 0.3s or less, and add another 0.3s at the end. That one corresponds to the transition delay.
2. Add this line here, give it the same timing as the other line, but without any animation delay.
That works perfectly! Thank you so much for your help 🙂
Hi, it's not working on my page although I followed your steps exactly including CTAs. I have no idea why 🙁
Hey Mareike!
Could you please share your URL with me? I will have a look.