<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>colorful</title>
<style>
body{
background: #262626;
}
.container{
position: absolute;
top:50%;
left:50%;
transform: translate(-50%,-50%);
width: 500px;
height: 500px;
}
.imageBox{
position: absolute;
top:0;
left:0;
}
.grey{
filter: grayscale(100%);
}
.color{
transition: 2s;
width: 0;
border-right:1px solid #000000;
overflow: hidden;
}
.container:hover .color{
width: 100%;
}
</style>
</head>
<body>
<div class="container">
<div class="imageBox grey">
<img src="cup.png" style="width: 500px;">
</div>
<div class="imageBox color">
<img src="cup.png" style="width: 500px;">
</div>
</div>
</body>
</html>