<img src="https://picsum.photos/id/1069/250/250" >
<img src="https://picsum.photos/id/1011/250/250" >
img {
  --m:
    linear-gradient(#000 0 0) 0    0   /45% 45% no-repeat,
    linear-gradient(#000 0 0) 0    100%/45% 45% no-repeat,
    linear-gradient(#000 0 0) 100% 0   /45% 45% no-repeat,
    linear-gradient(#000 0 0) 100% 100%/45% 45% no-repeat;
  -webkit-mask: var(--m);
          mask: var(--m);
  filter: grayscale(.5);
  transition: .3s linear;
  cursor: pointer;
}
img:hover {
  -webkit-mask-position: 10% 10%,10% 90%,90% 10%,90% 90%;
          mask-position: 10% 10%,10% 90%,90% 10%,90% 90%;
  filter: grayscale(0);
}

body {
  background: #ccc;
  display: grid;
  height: 100vh;
  grid-auto-flow :column;
  place-content: center;
  gap: 40px;
}
Run Pen

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.