HTML :
<div class="start">
<div class="images-selector">
<input type="radio" id="duck" name="image" value="duck">
<label for="duck" class="img-card img1"></label>
<input type="radio" id="dog" name="image" value="dog">
<label for="dog" class="img-card img2"></label>
<input type="radio" id="cat" name="image" value="cat">
<label for="cat" class="img-card img3"></label>
<input type="radio" id="cow" name="image" value="cow">
<label for="cow" class="img-card img4"></label>
</div>
</div>
CSS :
<style>
.start {
margin: 0;
padding: 0;
box-sizing: border-box;
position: relative;
width: 100%;
height: 90vh;
display: flex;
justify-content: center;
align-items: center;
}
.images-selector input {
position: absolute;
z-index: 10;
}
.images-selector input:checked+.img-card {
filter: none;
transform: scaleY(1);
}
.img-card {
display: inline-block;
width: 250px;
height: 200px;
background-size: contain;
background-repeat: no-repeat;
cursor: pointer;
transition: all 200ms ease-in;
filter: grayscale(1) opacity(.8);
}
.img-card:hover {
filter: grayscale(0) opacity(1);
/* box-shadow: 0px 8px 4px rgba(0, 0, 0, 0.3),
0px 10px 2px rgba(0, 0, 0, 0.1); */
}
.img-card::before,
.img-card::after {
transform: scaleY(-1);
}
/*reflection*/
.img-card:hover::after {
content: '';
background-image: inherit;
background-repeat: no-repeat;
background-position: bottom;
background-size: cover;
width: inherit;
height: 40%;
position: absolute;
bottom: -25%;
}
/*fade reflection*/
.img-card:hover::before {
content: '';
width: inherit;
height: 42%;
position: absolute;
bottom: -25%;
background: linear-gradient(to bottom, rgba(255, 255, 255, .9), rgba(255, 255, 255, .5));
z-index: 1;
}
.img1 {
background-image: url(../../all-css/imgTest/4.jpg);
}
.img2 {
background-image: url(../../all-css/imgTest/8.jpg);
}
.img3 {
background-image: url(../../all-css/imgTest/2.jpg);
}
.img4 {
background-image: url(../../all-css/imgTest/1.jpeg);
}
</style>
