.zoom-on-hover { position: relative; overflow: hidden; } .zoom-on-hover .normal { width: 100%; } .zoom-on-hover .zoom { position: absolute; opacity: 0; transform-origin: top left; } .zoom-on-hover.zoomed .zoom { opacity: 1; } .zoom-on-hover.zoomed .normal { opacity: 0; }