In this article we will use CSS transitions and transforms properties to zoom image on hover.
HTML
<div> <img src="earth.jpg" alt="earth image"> </div>
CSS
html {
box-sizing: border-box;
}
*,
*::after,
*::before {
box-sizing: inherit;
}
body {
padding: 0;
margin: 0;
height: 100vh;
display: flex;
justify-content: center;
align-items: center;
}This will center div.
Now let’s give height and width to div.
div {
width: 500px;
height: 500px;
}But now image is going to be too big for the container. To illustrate it, I have given red border to div. You can see that image is too big and outside container.

To fit the image inside the container, add the following css code.
img {
width: 100%;
}Now to zoom image on hover, add the following code.
div:hover img {
transform: scale(1.7);
}To make it smooth zoom in, add the following code.
img {
width: 100%;
transition: all 0.5s;
}Now the image scales smoothly but it goes outside the container as illustrated by the diagram below.

To confine the overflow of the image, add the following code.
div {
width: 500px;
height: 500px;
overflow: hidden;
}Complete CSS Code
html {
box-sizing: border-box;
}
*,
*::after,
*::before {
box-sizing: inherit;
}
body {
padding: 0;
margin: 0;
height: 100vh;
display: flex;
justify-content: center;
align-items: center;
}
div {
width: 500px;
height: 500px;
overflow: hidden;
}
img {
width: 100%;
transition: all 0.5s;
}
div:hover img {
transform: scale(1.7);
}