Various Hover effects using CSS
by Roshan Karunarathna
HTML
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<h1>CSS Image Hover Effects</h1>
<p>← <a href="https://www.nxworld.net/tips/css-image-hover-effects.html" target="_blank">View the article</a></p>
<h2>No Effect</h2>
<div class="column">
<div class="col-md-3">
<figure><img src="https://www.w3schools.com/css/img_fjords.jpg" /></figure>
<span>Hover</span>
</div>
<div class="col-md-3">
<figure><img src="https://www.w3schools.com/css/img_fjords.jpg" /></figure>
<span>Hover</span>
</div>
<div class="col-md-3">
<figure><img src="https://www.w3schools.com/css/img_fjords.jpg" /></figure>
<span>Hover</span>
</div>
</div>
<h2 id="demo01">1. Zoom In #1</h2>
<div class="hover01 column">
<div class="col-md-3">
<figure><img src="https://www.w3schools.com/css/img_fjords.jpg" /></figure>
<span>Hover</span>
</div>
<div class="col-md-3">
<figure><img src="https://www.w3schools.com/css/img_fjords.jpg" /></figure>
<span>Hover</span>
</div>
<div class="col-md-3">
<figure><img src="https://www.w3schools.com/css/img_fjords.jpg" /></figure>
<span>Hover</span>
</div>
</div>
<h2 id="demo02">2. Zoom In #2</h2>
<div class="hover02 column">
<div class="col-md-3">
<figure><img src="https://www.w3schools.com/css/img_fjords.jpg" /></figure>
<span>Hover</span>
</div>
<div class="col-md-3">
<figure><img src="https://www.w3schools.com/css/img_fjords.jpg" /></figure>
<span>Hover</span>
</div>
<div class="col-md-3">
<figure><img src="https://www.w3schools.com/css/img_fjords.jpg" /></figure>
<span>Hover</span>
</div>
</div>
<h2 id="demo03">3. Zoom Out #1</h2>
<div class="hover03 column">
<div class="col-md-3">
<figure><img src="https://www.w3schools.com/css/img_fjords.jpg"...
CSS
@import url(https://fonts.googleapis.com/css?family=Open+Sans:400,300);
body {
color: #333;
font-family: 'Open Sans', sans-serif;
font-weight: 300;
}
h1,
h1+p {
margin: 30px 15px 0;
font-weight: 300;
}
h1+p a {
color: #333;
}
h1+p a:hover {
text-decoration: none;
}
h2 {
margin: 60px 15px 0;
padding: 0;
font-weight: 300;
}
h2 span {
margin-left: 1em;
color: #aaa;
font-size: 85%;
}
.column {
margin: 15px 15px 0;
padding: 0;
}
.column:last-child {
padding-bottom: 60px;
}
.column::after {
content: '';
clear: both;
display: block;
}
.column div {
position: relative;
float: left;
width: 300px;
height: 200px;
margin: 0 0 0 25px;
padding: 0;
}
.column div:first-child {
margin-left: 0;
}
.column div span {
position: absolute;
bottom: -20px;
left: 0;
z-index: -1;
display: block;
width: 300px;
margin: 0;
padding: 0;
color: #444;
font-size: 18px;
text-decoration: none;
text-align: center;
-webkit-transition: .3s ease-in-out;
transition: .3s ease-in-out;
opacity: 0;
}
figure {
width: 300px;
height: 200px;
margin: 0;
padding: 0;
background: #fff;
overflow: hidden;
}
figure:hover+span {
bottom: -36px;
opacity: 1;
}
/* Zoom In #1 */
.hover01 figure img {
-webkit-transform: scale(1);
transform: scale(1);
-webkit-transition: .3s ease-in-out;
transition: .3s ease-in-out;
}
.hover01 figure:hover img {
-webkit-transform: scale(1.3);
transform: scale(1.3);
}
/* Zoom In #2 */
.hover02 figure img {
width: 300px;
height: auto;
-webkit-transition: .3s ease-in-out;
transition: .3s ease-in-out;
}
.hover02 figure:hover img {
width: 350px;
}
/* Zoom Out #1 */
.hover03 figure img {
-webkit-transform: scale(1.5);
transform: scale(1.5);
-webkit-transition: .3s ease-in-out;
transition: .3s ease-in-out;
}
.hover03 figure:hover img {
-webkit-transform: scale(1);
transform: scale(1);
}
/* Zoom Out #2 */
.hover04 figure img {
width: 400px;
...