Elementor Cross Fade Images on Hover

Elementor Cross Fade Images on Hover

Element.How also offers premium tutorials! Check them here:

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.

Access tutorial

$29/one time Purchase access


  • Gain Access to This TutorialUnlock complete access to the current tutorial:
  • Future UpdatesYou will get access to all future updates to this tutorial.
  • Enjoy Unlimited UsageUse on as many of your own sites or your clients sites as you wish.

    Note that reselling or redistributing is not permitted.

Access everything

$299/one time Purchase All Access


  • Unlock every premium tutorial on Element.howGet access to the entire library of premium tutorials on Element.how
    Preview premium tutorials
  • Get access to the CSS course for Elementor usersAccess the complete 14 HTML chapters, 30 CSS chapters and 7 Elementor Projects.Learn more
  • Simple CSS Grid For ElementorAn Elementor Addon to Create Awesome Grid Layouts in a Single Click for Containers, Galleries and Loop Grid. Learn more
  • free extra: ShapeDividers.com Premium AccessLifetime Premium Access to ShapeDividers.comVisit ShapeDividers.com
  • 30 day money backNo questions asked money back. Not what you expected? Get a refund.
  • One-time payment of only $299No hidden fees or subscriptions.

    Sales taxes added where applicable.
  • Great supportGet help when you need it. Support includes getting things working as intended.

    Support excludes customization work.
  • Lifetime access to everything Element.howThe 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.
* All prices are USD. Applicable taxes will be charged at checkout. Have a question? See the FAQ or email me.

Element.how also provides premium tutorials showing awesome advanced designs, check them out here.

Looking for something else? Search across 2737 Elements right here:

Checkout the Elementor Addon Finder directly

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

  2. Hi there - I've double checked my application of the instructions many times but this is not working. Happy to share the URL privately if you provide me an email address.

Leave a Reply