Elementor Cross Fade Images on Hover

Elementor Cross Fade Images on Hover

Just launched! Checkout the CSS Course for Elementor users.

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:

Visit the demo page directly.


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


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


5 Responses

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

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

Leave a Reply