How to Zoom or Change an Image on Hover in Elementor

One image before hover and a different image on hover

Key Takeaways

  • Elementor has no single setting to change an image on hover, so the swap is done with a container background behind the image or with a widget that accepts a second image.
  • The no-plugin way to change an image on hover in Elementor is to set the second image as a container background and set the Image widget’s hover Opacity to 0.
  • The Master Addons Advanced Image widget swaps images with one switch, Display Hover Image, found in the Hover Image section of the Content tab.
  • Elementor’s Hover Animation preset Grow zooms an image to 110 percent on hover, and the image grows past its original edges.
  • A zoom on hover that stays inside its frame needs a CSS class on the Image widget and three short CSS rules that scale the image inside a hidden overflow.

To change an image on hover in Elementor, you put a second image behind or inside the first and reveal it when the pointer arrives. Elementor can do this without a plugin through a container background, and a hover image widget does it with one switch. Zooming on hover takes one preset for a basic zoom, or a few lines of CSS for a zoom that stays in its frame.

All four methods below were built and tested on Elementor 4.3.

Which method to use

Two of these methods swap the image and two zoom it. Within each pair, one uses only Elementor and the other is quicker or neater.

GoalMethodNeedsCode
Change to a second imageContainer background plus hover opacityElementorNone
Change to a second imageAdvanced Image widgetMaster AddonsNone
Zoom the imageHover Animation: GrowElementorNone
Zoom inside a fixed frameCSS class on the Image widgetElementor and a place to add CSSThree rules

Change an image on hover with a container background

This method needs no plugin. The second image is the background of a container, and the first image sits on top of it as a normal Image widget. On hover, the top image fades out and the background shows through.

  1. Add a container and set its padding to 0.
  2. In the container’s Style tab, open Background, choose Classic and upload the image that should appear on hover. Set Position to Center Center and Size to Cover.
  3. Drag an Image widget into the container and choose the image that should show first.
  4. Select the Image widget, open Style and switch to the Hover tab.
  5. Set Opacity to 0 and Transition Duration to about 0.4.
Elementor Image widget Style tab with the Hover tab open, showing Opacity and Transition Duration
Opacity on the Hover tab is what makes the top image disappear.
Elementor image changing to a second image on hover using a container background behind an Image widget
Before hover the Image widget shows. On hover it fades to 0 and the container background is visible.

Use two images with the same proportions. The container takes its height from the Image widget, so a background with a different shape gets cropped.

Change an image on hover with a hover image widget

A widget with a hover image field does the same swap from one panel. The steps below use the Advanced Image widget from Master Addons.

  1. Search the widget panel for Advanced Image and drag it onto the page.
  2. In the Image section, choose the main image.
  3. Open the Hover Image section and turn on Display Hover Image.
  4. Choose the second image in the field that appears.
  5. Preview the page and hover.
Advanced Image widget in Elementor with the Hover Image section open and Display Hover Image switched on
Display Hover Image and the second image field.
Advanced Image widget changing from a perfume bottle photo to a second photo on hover in Elementor
The main image before hover and the hover image after.

The widget also has a ribbon, a link and a lightbox, which suits product photos: front view first, back view on hover, with a New ribbon in the corner.

Want text on hover? Image Hover Effects animates a title and description over one image, with 30 effects to choose from.

Zoom an image on hover with the Grow preset

The quickest zoom is a preset. Select the Image widget, open Style, switch to the Hover tab and set Hover Animation to Grow. The image scales to 110 percent while the pointer is over it.

Three Elementor images with the middle image zoomed by the Grow hover animation and overlapping its neighbours
Grow enlarges the whole image, so it spills past its original edges.

Grow works well for a single image with space around it. In a tight grid it overlaps the images next to it, so use the next method there.

Zoom an image on hover inside its frame

For a zoom that stays inside the picture’s own box, give the Image widget a CSS class and add three rules. The widget keeps its size, and the image scales up inside it.

  1. Select the Image widget and open Advanced. In CSS Classes, type hover-zoom.
  2. Add the CSS below to your site.
.hover-zoom { overflow: hidden; border-radius: 10px; }
.hover-zoom img { transition: transform 0.4s ease; display: block; }
.hover-zoom:hover img { transform: scale(1.08); }
Elementor image zooming on hover inside a fixed frame with rounded corners using a CSS class
The frame stays the same size and the image scales inside it.

Where the CSS goes depends on your setup. Elementor Pro has a Custom CSS box in the Advanced tab. Without it, use Appearance, Customize, Additional CSS in WordPress, or the Custom CSS extension in Master Addons. Change 1.08 to 1.15 for a stronger zoom.

Four things that go wrong

Most problems with these effects come from image sizes and from testing on the wrong device.

  1. The two images have different proportions. The swap then jumps or crops. Export both at the same width and height.
  2. The zoomed image covers nearby content. Grow has no frame. Use the CSS method when images sit close together.
  3. Nothing happens on a phone. Touch screens have no hover. Make sure the first image works alone, because phone visitors may never see the second.
  4. The hover image is heavy. Compress both files, because a large second image can show as a blank flash on the first hover.

Frequently asked questions

How do I change an image on hover in Elementor without a plugin?

Put the hover image on a container as its background, then place an Image widget with the first image inside that container. In the Image widget’s Style tab, open the Hover tab and set Opacity to 0 with a Transition Duration of about 0.4 seconds.

How do I zoom an image on hover in Elementor?

Select the Image widget, open Style, go to the Hover tab and set Hover Animation to Grow. For a zoom that stays inside the image’s frame, add a CSS class to the widget and scale the image with transform inside a wrapper that has overflow set to hidden.

Can the Image Hover Effects widget change the image on hover?

No. Image Hover Effects keeps one image and animates a title and description over it. To swap to a second image, use the Advanced Image widget and turn on Display Hover Image, or use the container background method.

Why does my image overlap other content when it zooms?

The Grow animation scales the whole image beyond its box. Give the Image widget a class, set overflow to hidden on it and scale the img element inside. The box then stays the same size and clips the zoom.

Can I change a product image on hover in WooCommerce with this?

These methods work on images you place yourself in Elementor. Product grids generated by WooCommerce or a products widget are a different case and depend on the theme or the widget that prints them.

Final thoughts

To change an image on hover in Elementor, use a container background with a fading Image widget, or a widget with a hover image field. To zoom, use Grow for a quick result and the CSS class when the image must stay in its frame.

The Advanced Image widget handles the swap in one panel, and Image Hover Effects covers text overlays.

Picture of Roy Jemee
Roy Jemee
I'm Roy Jemee, Content Wrangler and Marketer at Pixar Labs, working on Master Addons for Elementor. I write the tutorials, record the videos, and keep the documentation current, so you always know how to use every feature. I also handle support, so if you hit a snag, I'm the person who helps you fix it. Real answers, from someone who uses these tools every day.

Leave a Reply

Your email address will not be published. Required fields are marked *