<div class="image-card">
<img src="https://images.unsplash.com/photo-1582439170934-d089aa10abda?ixlib=rb-1.2.1&auto=format&fit=crop&w=335&q=80">
<h2>Beni Pixie</h2>
<ul>
<li><i class="fab fa-facebook-f"></i><span>Facebook</span></li>
<li><i class="fab fa-twitter"></i><span>Twitter</span></li>
<li><i class="fab fa-instagram"></i><span>Instagram</span></li>
<li><i class="fab fa-youtube"></i><span>Youtube</span></li>
</ul>
</div>
*{
margin: 0;
padding: 0;
}
body{
display: flex;
height: 100vh;
align-items: center;
text-align: center;
justify-content: center;
font-family: 'Montserrat', sans-serif;
}
.image-card{
position: relative;
height: 400px;
width: 300px;
overflow: hidden;
border-radius: 3px;
transition: all .4s;
}
.image-card:hover{
box-shadow: 1px 1px 6px 1px rgba(0,0,0,.3);
}
.image-card:before{
content: '';
position: absolute;
top: 0;
left: 180%;
height: 100%;
width: 75%;
background: rgba(255,255,255,.1);
z-index: 1;
transform: skew(45deg);
opacity: .7;
pointer-events: none;
transition: .5s;
}
.image-card:hover:before{
left: -180%;
}
.image-card img{
height: 100%;
width: 100%;
filter: grayscale(100%);
transition: 2s;
}
.image-card:hover img{
filter: grayscale(0%);
transform: scale(1.1);
}
.image-card h2{
position: absolute;
bottom: 0;
width: 100%;
background: #e74c3c;
padding: 10px 0;
color: #f9d6d2;
font-family: verdana;
border: 1px solid #e64533;
user-select: none;
transform: perspective(500px) rotateY(-90deg);
transform-origin: right;
transition: all .5s;
}
.image-card:hover h2{
transform: perspective(500px) rotateY(0deg);
}
.image-card ul{
position: absolute;
list-style: none;
top: 0;
left: 0;
background: rgba(255,255,255,0);
}
.image-card ul li{
height: 40px;
width: 40px;
line-height: 40px;
background: #333;
cursor: pointer;
transition: all .5s;
transform: perspective(800px) rotateY(90deg);
transform-origin: left;
border-bottom: 1px solid rgba(0,0,0,.1);
}
.image-card:hover ul li{
transform: perspective(800px) rotateY(0deg);
}
.image-card:hover ul li:nth-child(1){
transition-delay: .2s;
}
.image-card:hover ul li:nth-child(2){
transition-delay: .6s;
}
.image-card:hover ul li:nth-child(3){
transition-delay: .8s;
}
.image-card:hover ul li:nth-child(4){
transition-delay: 1s;
}
.image-card ul li i{
font-size: 20px;
color: tomato;
background: rgba(255,255,255,0);
}
ul li span{
position: absolute;
left: 10px;
font-size: 14px;
text-transform: uppercase;
background: #333;
color: tomato;
border-bottom: 1px solid rgba(0,0,0,.1);
padding: 0 10px;
opacity: 0;
z-index: -1;
pointer-events: none;
transition: all .5s;
}
ul li:hover span{
left: 30px;
opacity: 1;
pointer-events: auto;
}
This Pen doesn't use any external CSS resources.