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.