The code snippet helps you to create an image gallery with a smooth scale effect on hover. The gallery is contained within a <div> element with the class “container”, and it includes a heading “Gallery” and a <div> element with the class “gallery-wrap” that contains 5 child <div> elements, each with a unique class (item-1 through item-5).
How to Create CSS Image Gallery with Smooth Hover Scale Effect
First of all, load the following assets into the head tag of your HTML document.
<link href="https://fonts.googleapis.com/css?family=Oswald:700" rel="stylesheet"><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/meyer-reset/2.0/reset.min.css">
Create the HTML structure for the gallery as follows:
<div class="container">
<h1>Gallery</h1>
<div class="gallery-wrap">
<div class="item item-1"></div>
<div class="item item-2"></div>
<div class="item item-3"></div>
<div class="item item-4"></div>
<div class="item item-5"></div>
</div>
</div>
<div class="social">
<a href="https://twitter.com/StefCharle" target="_blank">
<img src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/149103/twitter.svg" alt="">
</a>
</div>
Style the image gallery using the following CSS styles:
html, body {
width: 100%;
height: 100%;
}
.container {
padding: 75px 0;
margin: 0 auto;
width: 1140px;
}
h1 {
position: relative;
margin-bottom: 45px;
font-family: "Oswald", sans-serif;
font-size: 44px;
text-transform: uppercase;
color: #424242;
}
.gallery-wrap {
display: flex;
flex-direction: row;
width: 100%;
height: 70vh;
}
.item {
flex: 1;
height: 100%;
background-position: center;
background-size: cover;
background-repeat: none;
transition: flex 0.8s ease;
}
.item:hover {
flex: 7;
}
.item-1 {
background-image: url("https://images.unsplash.com/photo-1499198116522-4a6235013d63?auto=format&fit=crop&w=1233&q=80");
}
.item-2 {
background-image: url("https://images.unsplash.com/photo-1492760864391-753aaae87234?auto=format&fit=crop&w=1336&q=80");
}
.item-3 {
background-image: url("https://images.unsplash.com/photo-1503631285924-e1544dce8b28?auto=format&fit=crop&w=1234&q=80");
}
.item-4 {
background-image: url("https://images.unsplash.com/photo-1510425463958-dcced28da480?auto=format&fit=crop&w=1352&q=80");
}
.item-5 {
background-image: url("https://images.unsplash.com/photo-1503602642458-232111445657?auto=format&fit=crop&w=1234&q=80");
}
.social {
position: absolute;
right: 35px;
bottom: 0;
}
.social img {
display: block;
width: 32px;
}
That’s all! hopefully, you have successfully created CSS image gallery with smooth hover scale effect. If you have any questions or suggestions, feel free to comment below.